{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Fourier Neural Operator 1D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\s1612415\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\tqdm\\auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    }
   ],
   "source": [
    "## Imports \n",
    "import matplotlib.pyplot as plt \n",
    "import numpy as np \n",
    "import torch \n",
    "import torch.nn as nn\n",
    "from timeit import default_timer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Set seeds\n",
    "torch.manual_seed(0)\n",
    "np.random.seed(0)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Create Data"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Heat Equation:\n",
    "\n",
    "\\begin{align*}\n",
    "\\frac{\\partial u}{\\partial t} &= \\alpha \\frac{\\partial^2 u}{\\partial x^2} \\\\\n",
    "u(x, 0) &= x^2 \\\\\n",
    "u(0, t) &= u(1, t) = 2 - \\exp(-t)\n",
    "\\end{align*}\n",
    "\n",
    "Solution: \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "## TODO: Create Heat Equation Class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Steps in x direction\n",
    "nx = 100\n",
    "## Steps in t direction\n",
    "nt = 100\n",
    "\n",
    "h = 1 / nx ## Step size in x direction\n",
    "k = 1 / nt ## Step size in t direction\n",
    "\n",
    "alpha = 0.05\n",
    "r =  alpha * k / h**2\n",
    "\n",
    "X, T = np.meshgrid(np.linspace(0, 1, nx + 1), np.linspace(0, 1, nt + 1))\n",
    "\n",
    "plt.scatter(X, T)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Initial Condition\n",
    "beta = np.pi\n",
    "u0 = np.sin(beta * X[0]) \n",
    "\n",
    "## Boundary Conditions\n",
    "ux0 = 0 # u0[0] # T[:, 0]\n",
    "uxn = 0 # u0[-1] # 2 - np.exp(-T[:, -1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "A = np.zeros((nx - 1, nx - 1))\n",
    "B = np.zeros((nx - 1, nx - 1))\n",
    "\n",
    "for i in range(nx - 1):\n",
    "    A[i, i] = 2 + 2 * r\n",
    "    B[i, i] = 2 - 2 * r\n",
    "\n",
    "for i in range(nx - 2):\n",
    "    A[i + 1, i] = -r\n",
    "    A[i, i + 1] = -r\n",
    "    B[i + 1, i] = r\n",
    "    B[i, i + 1] = r\n",
    "\n",
    "Ainv = np.linalg.inv(A)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Compute Solution\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "# b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    # b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    # b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx])) # + b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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eSAiIgrEf0putjwQEREVlRQSYkuftH8hKIwqDhEREQ0ZbHnoyxBKR23zTk8dt70QNqYN5fQdE+E7nXJ2f7i9rz0GosQag5Cy0lcnER+66fzBYF0rOd20MAbCJoV2ZpcslCWNcZDGGfRYYa5SaKY0VsX+brKP74yf8J2C23NMg3copub36pueWipvIA3TIQ7stiAiIiKVFPy6HlLyJkNCYVRxiIiIaMhgywMREVEg7LYYbuycsUqRGGR1XgXlsrS/WH7ueRzs1XKMetj+YjfeP+wU3emsXAxiCuaE3Q9v51WIz/tg53Gw01d3W19DOSzSGAhLyhmz8eEBtM2m0hgHO320k5dBMTX6++uVYyyyPk/cuJb391XeQ8J9EfqetznrffJABH+WKPcXyvPK5eD5DB8oxTIxVmGcJRERUQEwf5+Su78v08/xEitWrMDEiRNRWVmJWbNmYdOmTbHbL1++HP/0T/+EESNGoL6+Hueffz727t2b8/GCVx5aW1tx1FFHYdSoURg3bhzmzJmDrVu3RrbZu3cvFixYgAMPPBAjR47EySefjI6OjtCnQkRENOzdeeedaGlpwbJly/DUU09hypQpaGpqws6dO3vdftWqVVi0aBGWLVuG559/HjfffDPuvPNO/OAHP8j5mMG7LR5++GEsWLAARx11FPbt24cf/OAH+NznPofnnnsO+++/PwDg/PPPx5o1a3DXXXehuroazc3N+MpXvoI//elPoU9nYOR7ZjrheCKnaTOmAGUopkTdhBx4ls24UE07vbRzrnY3htNNEe1WcLs17G4HYb2Qstme5dOmGaWtDd1000fr1jvfk/S9xXQlSN0U3rNoKu9RifgbUoVmDm66anH/wuhZyKvB6La45pprcNZZZ2H+/PkAgJUrV2LNmjW45ZZbsGjRImf7xx57DMcccwy+/vWvAwAmTpyI0047DRs3bsz5mMErD2vXro0s33bbbRg3bhw2b96M//f//h/efvtt3HzzzVi1ahU++9nPAgBuvfVWHHrooXj88cfxqU99KvQpERERDYhQs2p2dnZG3q+oqEBFRYWzfXd3NzZv3ozFixdn3ksmk2hsbMSGDRt6PcbRRx+NX//619i0aRNmzpyJV155Bffffz9OP/30nM8z72Me3n77bQDAmDFjAACbN29GT08PGhsbM9tMnjwZEyZM6PODdnV1obOz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PFP9xl15bV+5b94H7VNAGmdg04yZEMckxK6Vhc7rII5jiCkreDpqZ3sh14in2PLE37I04CmwITrugPKPlQciIqJQ0savUlUgFTJWHoiIiELhmAeKsOPsNIRuBne9rttBOp4tNpRTG4rpe27q1MBSOuy+w+7cpm/dyUuzaKat8pxZNu3yhOPZ3RL2J/cJ7dR2kcizbuq214qUJ4VaOjsrf095vsc1KaCDz6opnot9DwfuBvF5jhaIBDzHPAQ7k/xiqCYRERGpsOWBiIgolCLJMBm85SGVSmHJkiWYNGkSRowYgYMPPhiXXHJJJJufMQZLly7F+PHjMWLECDQ2NuKll14KfSpEREQD6oNQTZ9XIQheebjyyitxww034Prrr8fzzz+PK6+8EldddRWuu+66zDZXXXUVrr32WqxcuRIbN27E/vvvj6amJuzduzf06eTug9piDrXGhDGR16Az1ssi3phZ+6pvYvvY1sspTzhXqTz7azImEXk5xeW47v1X/8vOZX3aekn7O9vLlyfnl1126HPXrtdce9+yxYvjFBh9ife0VJ4ltjxpW+FcB5vqWal4BpNrxYoVmDhxIiorKzFr1ixs2rSpz21vuukmfPrTn8YBBxyAAw44AI2NjbHb9yZ45eGxxx7DSSedhBNPPBETJ07EV7/6VXzuc5/LnJgxBsuXL8dFF12Ek046CUceeSRuv/12vP7667jnnnt6LbOrqwudnZ2RFxER0ZATonavdOedd6KlpQXLli3DU089hSlTpqCpqQk7d+7sdfv169fjtNNOw0MPPYQNGzagvr4en/vc5/Daa6/lfMzglYejjz4abW1tePHFFwEAf/7zn/Hoo4/i85//PABg27ZtaG9vR2NjY2af6upqzJo1Cxs2bOi1zNbWVlRXV2de9fX1oU+biIjIm93a0p8XAOcP5q6urj6Pec011+Css87C/Pnzcdhhh2HlypXYb7/9cMstt/S6/R133IHvfve7mDp1KiZPnoxf/vKXSKfTaGtry/lzBq88LFq0CKeeeiomT56MsrIyTJs2DQsXLsTcuXMBAO3t7QCAmpqayH41NTWZdbbFixfj7bffzrx27NgR+rSJiIiGjPr6+sgfza2trb1u193djc2bN0f+IE8mk2hsbOzzD3Lbnj170NPTgzFjxuR8fsGjLX7zm9/gjjvuwKpVq/CJT3wCW7Zs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IhVWHoiIiEiFlQciIiJSYeWBiIiIVAq68qCdgrTYtLa24qijjsKoUaMwbtw4zJkzB1u3bo1ss3fvXixYsAAHHnggRo4ciZNPPtlJHlLsrrjiCiQSCSxcuDDzHq9b31577TV84xvfwIEHHogRI0bgiCOOwJNPPplZb4zB0qVLMX78eIwYMQKNjY146aWXBvGMh4ZUKoUlS5Zg0qRJGDFiBA4++GBccsklkcmceO2ARx55BLNnz0ZdXR0SiYQzH0Mu1+itt97C3LlzUVVVhdGjR+PMM8/Eu+++O4CfYhgIFmg6wFavXm3Ky8vNLbfcYv7yl7+Ys846y4wePdp0dHQM9qkNGU1NTebWW281zz77rNmyZYv5whe+YCZMmGDefffdzDbf+c53TH19vWlrazNPPvmk+dSnPmWOPvroQTzroWXTpk1m4sSJ5sgjjzTnnXde5n1et9699dZb5qMf/aj55je/aTZu3GheeeUV88ADD5iXX345s80VV1xhqqurzT333GP+/Oc/my996Utm0qRJ5r333hvEMx98l112mTnwwAPNfffdZ7Zt22buuusuM3LkSPPzn/88sw2vnTH333+/+eEPf2h+97vfGQDm7rvvjqzP5RqdcMIJZsqUKebxxx83//Vf/2U+/vGPm9NOO22AP0lhK9jKw8yZM82CBQsyy6lUytTV1ZnW1tZBPKuhbefOnQaAefjhh40xxuzatcuUlZWZu+66K7PN888/bwCYDRs2DNZpDhnvvPOOOeSQQ8y6devMP//zP2cqD7xufbvwwgvNscce2+f6dDptamtrzdVXX515b9euXaaiosL8x3/8x0Cc4pB14oknmm9961uR977yla+YuXPnGmN47XpjVx5yuUbPPfecAWCeeOKJzDZ//OMfTSKRMK+99tqAnXuhK8huiw+mIG1sbMy8J01BSsDbb78NABgzZgwAYPPmzejp6Ylcx8mTJ2PChAm8jgAWLFiAE088MXJ9AF63OPfeey9mzJiBr33taxg3bhymTZuGm266KbN+27ZtaG9vj1y76upqzJo1q+iv3dFHH422tja8+OKLAIA///nPePTRR/H5z38eAK9dLnK5Rhs2bMDo0aMxY8aMzDaNjY1IJpPYuHHjgJ9zoQo6q+ZA6c8UpMUunU5j4cKFOOaYY3D44YcDeH9a1vLycowePTqyrXZq1uFo9erVeOqpp/DEE08463jd+vbKK6/ghhtuQEtLC37wgx/giSeewPe+9z2Ul5dj3rx5mevjOx3wcLRo0SJ0dnZi8uTJKCkpQSqVwmWXXYa5c+cCAK9dDnK5Ru3t7Rg3blxkfWlpKcaMGcPrqFCQlQfSW7BgAZ599lk8+uijg30qQ96OHTtw3nnnYd26dUUzvW4o6XQaM2bMwOWXXw4AmDZtGp599lmsXLkS8+bNG+SzG9p+85vf4I477sCqVavwiU98Alu2bMHChQtRV1fHa0dDTkF2W/RnCtJi1tzcjPvuuw8PPfQQPvKRj2Ter62tRXd3N3bt2hXZvtiv4+bNm7Fz50588pOfRGlpKUpLS/Hwww/j2muvRWlpKWpqanjd+jB+/HgcdthhkfcOPfRQbN++HQAy14e/Xdf3v/99LFq0CKeeeiqOOOIInH766Tj//PPR2toKgNcuF7lco9raWuzcuTOyft++fXjrrbd4HRUKsvLQnylIi5ExBs3Nzbj77rvx4IMPYtKkSZH106dPR1lZWeQ6bt26Fdu3by/q63j88cfjmWeewZYtWzKvGTNmYO7cuZn/53Xr3THHHOOEA7/44ov46Ec/CgCYNGkSamtrI9eus7MTGzduLPprt2fPHiST0UdySUkJ0uk0AF67XORyjRoaGrBr1y5s3rw5s82DDz6IdDqdmUiKcjDYIzb7S5qClIw555xzTHV1tVm/fr3529/+lnnt2bMns813vvMdM2HCBPPggw+aJ5980jQ0NJiGhoZBPOuhKTvawhhet75s2rTJlJaWmssuu8y89NJL5o477jD77bef+fWvf53Z5oorrjCjR482v//9781///d/m5NOOqnowg17M2/ePHPQQQdlQjV/97vfmbFjx5oLLrggsw2v3ftRUE8//bR5+umnDQBzzTXXmKefftr89a9/Ncbkdo1OOOEEM23aNLNx40bz6KOPmkMOOYShmkoFW3kwxpjrrrvOTJgwwZSXl5uZM2eaxx9/fLBPaUgB0Ovr1ltvzWzz3nvvme9+97vmgAMOMPvtt5/58pe/bP72t78N3kkPUXblgdetb3/4wx/M4YcfbioqKszkyZPNjTfeGFmfTqfNkiVLTE1NjamoqDDHH3+82bp16yCd7dDR2dlpzjvvPDNhwgRTWVlpPvaxj5kf/vCHpqurK7MNr50xDz30UK/PtXnz5hljcrtG//u//2tOO+00M3LkSFNVVWXmz59v3nnnnUH4NIWLU3ITERGRSkGOeSAiIqLBw8oDERERqbDyQERERCqsPBAREZEKKw9ERESkwsoDERERqbDyQERERCqsPBAREZEKKw9ERESkwsoDERERqbDyQERERCr/H3f5Rcbd0UnIAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(u, aspect='auto')\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Number of Samples \n",
    "n = 10000\n",
    "## Output\n",
    "data_in = []\n",
    "data_out = []\n",
    "\n",
    "## Generate Data\n",
    "for _ in range(n):\n",
    "    beta = np.random.uniform(-10, 10)\n",
    "    beta_vec = beta * np.ones(101)\n",
    "\n",
    "    u0 = np.sin(beta * X[0])\n",
    "\n",
    "    data_in.append([beta_vec , np.arange(0, 1.01, 0.01)])\n",
    "\n",
    "    ## Create Solution Matrix\n",
    "    u = np.zeros((nt + 1, nx + 1))\n",
    "    u[0] = u0\n",
    "    u[:, 0] = ux0\n",
    "    u[:, -1] = uxn\n",
    "\n",
    "    # b = np.zeros(nx - 1)\n",
    "    for j in range(1, nt + 1):\n",
    "        # b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "        # b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "        u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx])) # + b)\n",
    "\n",
    "    data_out.append(u[-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\s1612415\\AppData\\Local\\Temp\\ipykernel_3196\\974941267.py:1: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ..\\torch\\csrc\\utils\\tensor_new.cpp:233.)\n",
      "  data_in = np.array(torch.tensor(data_in).float())\n"
     ]
    }
   ],
   "source": [
    "data_in = np.array(torch.tensor(data_in).float())\n",
    "data_out = np.array(torch.tensor(data_out).float().unsqueeze(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Data Loader\n",
    "from torch.utils.data import Dataset, DataLoader\n",
    "import pandas as pd\n",
    "\n",
    "class CustomDataset(Dataset):\n",
    "    def __init__(self, t, x):\n",
    "        self.t = t\n",
    "        self.x = x\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.t)\n",
    "    \n",
    "    def __getitem__(self, index):\n",
    "        return self.t[index], self.x[index]\n",
    "\n",
    "data = CustomDataset(data_in, data_out)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701,\n",
       "        0.9762701, 0.9762701, 0.9762701, 0.9762701, 0.9762701],\n",
       "       [0.       , 0.01     , 0.02     , 0.03     , 0.04     , 0.05     ,\n",
       "        0.06     , 0.07     , 0.08     , 0.09     , 0.1      , 0.11     ,\n",
       "        0.12     , 0.13     , 0.14     , 0.15     , 0.16     , 0.17     ,\n",
       "        0.18     , 0.19     , 0.2      , 0.21     , 0.22     , 0.23     ,\n",
       "        0.24     , 0.25     , 0.26     , 0.27     , 0.28     , 0.29     ,\n",
       "        0.3      , 0.31     , 0.32     , 0.33     , 0.34     , 0.35     ,\n",
       "        0.36     , 0.37     , 0.38     , 0.39     , 0.4      , 0.41     ,\n",
       "        0.42     , 0.43     , 0.44     , 0.45     , 0.46     , 0.47     ,\n",
       "        0.48     , 0.49     , 0.5      , 0.51     , 0.52     , 0.53     ,\n",
       "        0.54     , 0.55     , 0.56     , 0.57     , 0.58     , 0.59     ,\n",
       "        0.6      , 0.61     , 0.62     , 0.63     , 0.64     , 0.65     ,\n",
       "        0.66     , 0.67     , 0.68     , 0.69     , 0.7      , 0.71     ,\n",
       "        0.72     , 0.73     , 0.74     , 0.75     , 0.76     , 0.77     ,\n",
       "        0.78     , 0.79     , 0.8      , 0.81     , 0.82     , 0.83     ,\n",
       "        0.84     , 0.85     , 0.86     , 0.87     , 0.88     , 0.89     ,\n",
       "        0.9      , 0.91     , 0.92     , 0.93     , 0.94     , 0.95     ,\n",
       "        0.96     , 0.97     , 0.98     , 0.99     , 1.       ]],\n",
       "      dtype=float32)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[0][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 101)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[0][0].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataloader = DataLoader(data, batch_size=16, shuffle=True)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Build Network"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using cpu device.\n"
     ]
    }
   ],
   "source": [
    "## Get Device for Training\n",
    "device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
    "print(f'Using {device} device.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Fourier Integral Kernel 1D\n",
    "class FourierIntegralKernel1D(nn.Module):\n",
    "    def __init__(self, in_channels: int, out_channels: int, modes: int):\n",
    "        super(FourierIntegralKernel1D, self).__init__()\n",
    "        '''\n",
    "        '''\n",
    "        self.in_channels = in_channels\n",
    "        self.out_channels = out_channels \n",
    "        self.modes = modes \n",
    "        ## Set (random) weights for the linear transform\n",
    "        weights = torch.rand(self.modes, self.out_channels, self.in_channels, dtype=torch.cfloat) \n",
    "        self.weights = nn.Parameter(weights / (self.in_channels * self.out_channels)) ## Optional: Scale weights\n",
    "\n",
    "    def forward(self, v: torch.Tensor) -> torch.Tensor:\n",
    "        '''\n",
    "        FFT -> Linear Transform -> Inverse FFT\n",
    "        '''\n",
    "        ## FFT\n",
    "        v_rfft = torch.fft.rfft(v) \n",
    "\n",
    "        ## Linear Transform \n",
    "        lv_rfft = torch.zeros(v_rfft.shape, dtype=torch.cfloat)\n",
    "        lv_rfft[:, :, :self.modes] = torch.einsum('koi, bki -> bko', self.weights, v_rfft[:, :, :self.modes].permute(0, 2, 1)).permute(0, 2, 1) ## TODO: Should I have 5 dimensions here?\n",
    "        \n",
    "        ## Inverse FFT\n",
    "        v2 = torch.fft.irfft(lv_rfft, n=v.shape[-1])\n",
    "        return v2\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Fourier Network Operator 1D\n",
    "class FourierNetworkOperator1D(nn.Module):\n",
    "    def __init__(self, da: int, du: int, width: int, modes: int):\n",
    "        super(FourierNetworkOperator1D, self).__init__()\n",
    "        '''\n",
    "        '''\n",
    "        self.width = width\n",
    "        self.modes = modes\n",
    "\n",
    "        ## P: Lifts the lower dimensional function to higher dimensional space\n",
    "        self.P = nn.Conv1d(da, self.width, 1) ## TODO: Change da\n",
    "\n",
    "        ## K: Fourier integral kernel operator\n",
    "        self.k0 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        self.k1 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        self.k2 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        self.k3 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        # self.k4 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        # self.k5 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        # self.k6 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        # self.k7 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        # self.k8 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "        # self.k9 = FourierIntegralKernel1D(self.width, self.width, self.modes)\n",
    "\n",
    "        ## W: Pointwise linear operator\n",
    "        self.w0 = nn.Conv1d(self.width, self.width, 1)\n",
    "        self.w1 = nn.Conv1d(self.width, self.width, 1)\n",
    "        self.w2 = nn.Conv1d(self.width, self.width, 1)\n",
    "        self.w3 = nn.Conv1d(self.width, self.width, 1)\n",
    "        # self.w4 = nn.Conv1d(self.width, self.width, 1)\n",
    "        # self.w5 = nn.Conv1d(self.width, self.width, 1)\n",
    "        # self.w6 = nn.Conv1d(self.width, self.width, 1)\n",
    "        # self.w7 = nn.Conv1d(self.width, self.width, 1)\n",
    "        # self.w8 = nn.Conv1d(self.width, self.width, 1)\n",
    "        # self.w9 = nn.Conv1d(self.width, self.width, 1)\n",
    "\n",
    "        ## Q: Projects the higher dimensional function to lower dimensional space\n",
    "        self.Q = nn.Conv1d(self.width, du, 1) ## TODO: Change du\n",
    "\n",
    "    def forward(self, x: torch.Tensor) -> torch.Tensor:\n",
    "        '''\n",
    "        '''\n",
    "        ## P\n",
    "        x = self.P(x)\n",
    "\n",
    "        ## Fourier Layer #0\n",
    "        ## K\n",
    "        x1 = self.k0(x)\n",
    "        ## W\n",
    "        x2 = self.w0(x)\n",
    "        ## Sum\n",
    "        x = x1 + x2\n",
    "        ## Gelu\n",
    "        x = nn.functional.gelu(x)\n",
    "        # x = nn.functional.gelu(x1)\n",
    "        # x = nn.functional.gelu(x2)\n",
    "\n",
    "        ## Fourier Layer #1\n",
    "        ## K\n",
    "        x1 = self.k1(x)\n",
    "        ## W\n",
    "        x2 = self.w1(x)\n",
    "        ## Sum \n",
    "        x = x1 + x2\n",
    "        ## Gelu\n",
    "        x = nn.functional.gelu(x)\n",
    "        # x = nn.functional.gelu(x1)\n",
    "        # x = nn.functional.gelu(x2)\n",
    "\n",
    "        ## Fourier Layer #2\n",
    "        ## K\n",
    "        x1 = self.k2(x)\n",
    "        ## W\n",
    "        x2 = self.w2(x)\n",
    "        ## Sum\n",
    "        x = x1 + x2\n",
    "        ## Gelu\n",
    "        x = nn.functional.gelu(x)\n",
    "        # x = nn.functional.gelu(x1)\n",
    "        # x = nn.functional.gelu(x2)\n",
    "\n",
    "        ## Fourier Layer #3\n",
    "        ## K\n",
    "        x1 = self.k3(x)\n",
    "        ## W\n",
    "        x2 = self.w3(x)\n",
    "        ## Sum\n",
    "        x = x1 + x2\n",
    "        ## Gelu\n",
    "        x = nn.functional.gelu(x)\n",
    "        # x = nn.functional.gelu(x1)\n",
    "        # x = nn.functional.gelu(x2)\n",
    "\n",
    "        # ## Fourier Layer #4\n",
    "        # ## K\n",
    "        # x1 = self.k4(x)\n",
    "        # ## W\n",
    "        # x2 = self.w4(x)\n",
    "        # ## Sum\n",
    "        # x = x1 + x2\n",
    "        # ## Gelu\n",
    "        # x = nn.functional.gelu(x)\n",
    "        # # x = nn.functional.gelu(x1)\n",
    "        # # x = nn.functional.gelu(x2)\n",
    "\n",
    "        # ## Fourier Layer #5\n",
    "        # ## K\n",
    "        # x1 = self.k5(x)\n",
    "        # ## W\n",
    "        # x2 = self.w5(x)\n",
    "        # ## Sum\n",
    "        # x = x1 + x2\n",
    "        # ## Gelu\n",
    "        # x = nn.functional.gelu(x)\n",
    "        # # x = nn.functional.gelu(x1)\n",
    "        # # x = nn.functional.gelu(x2)\n",
    "\n",
    "        # ## Fourier Layer #6\n",
    "        # ## K\n",
    "        # x1 = self.k6(x)\n",
    "        # ## W\n",
    "        # x2 = self.w6(x)\n",
    "        # ## Sum\n",
    "        # x = x1 + x2\n",
    "        # ## Gelu\n",
    "        # x = nn.functional.gelu(x)\n",
    "        # # x = nn.functional.gelu(x1)\n",
    "        # # x = nn.functional.gelu(x2)\n",
    "\n",
    "        # ## Fourier Layer #7\n",
    "        # ## K\n",
    "        # x1 = self.k7(x)\n",
    "        # ## W\n",
    "        # x2 = self.w7(x)\n",
    "        # ## Sum\n",
    "        # x = x1 + x2\n",
    "        # ## Gelu\n",
    "        # x = nn.functional.gelu(x)\n",
    "        # # x = nn.functional.gelu(x1)\n",
    "        # # x = nn.functional.gelu(x2)\n",
    "\n",
    "        # ## Fourier Layer #8\n",
    "        # ## K\n",
    "        # x1 = self.k8(x)\n",
    "        # ## W\n",
    "        # x2 = self.w8(x)\n",
    "        # ## Sum\n",
    "        # x = x1 + x2\n",
    "        # ## Gelu\n",
    "        # x = nn.functional.gelu(x)\n",
    "        # # x = nn.functional.gelu(x1)\n",
    "        # # x = nn.functional.gelu(x2)\n",
    "\n",
    "        # ## Fourier Layer #9\n",
    "        # ## K\n",
    "        # x1 = self.k9(x)\n",
    "        # ## W\n",
    "        # x2 = self.w9(x)\n",
    "        # ## Sum\n",
    "        # x = x1 + x2\n",
    "        # ## Gelu\n",
    "        # x = nn.functional.gelu(x)\n",
    "        # # x = nn.functional.gelu(x1)\n",
    "        # # x = nn.functional.gelu(x2)\n",
    "\n",
    "        ## Q\n",
    "        x = self.Q(x)\n",
    "        return x\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import operator\n",
    "# from functools import reduce\n",
    "\n",
    "# def count_parameters(model):\n",
    "#     c = 0\n",
    "#     for p in list(model.parameters()):\n",
    "#         c += reduce(operator.mul, list(p.size() + (2, ) if p.is_complex() else p.size()))\n",
    "#     return c\n",
    "\n",
    "# model = FourierNetworkOperator1D(2, 1, width=64, modes=4)\n",
    "# print(f'Number of parameters: {count_parameters(model)}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "P.weight: 128\n",
      "P.bias: 64\n",
      "k0.weights: 16384\n",
      "k1.weights: 16384\n",
      "k2.weights: 16384\n",
      "k3.weights: 16384\n",
      "w0.weight: 4096\n",
      "w0.bias: 64\n",
      "w1.weight: 4096\n",
      "w1.bias: 64\n",
      "w2.weight: 4096\n",
      "w2.bias: 64\n",
      "w3.weight: 4096\n",
      "w3.bias: 64\n",
      "Q.weight: 64\n",
      "Q.bias: 1\n",
      "Total Trainable Params: 82433\n"
     ]
    }
   ],
   "source": [
    "def count_parameters(model):\n",
    "    total_params = 0\n",
    "    for name, parameter in model.named_parameters():\n",
    "        if not parameter.requires_grad: continue\n",
    "        params = parameter.numel()\n",
    "        print(f'{name}: {params}')\n",
    "        total_params+=params\n",
    "    print(f\"Total Trainable Params: {total_params}\")\n",
    "    return total_params\n",
    "    \n",
    "model = FourierNetworkOperator1D(2, 1, width=64, modes=4)\n",
    "num_parameters = count_parameters(model)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Model Parameters\n",
    "learning_rate = 1e-3\n",
    "epochs = 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Loss Function\n",
    "loss_function = nn.MSELoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Optimizer \n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "vec = torch.from_numpy(np.arange(0, 1.01, 0.01)).float().unsqueeze(0).unsqueeze(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "beta: 4.965359625793974\n"
     ]
    },
    {
     "data": {
      "image/png": "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CMLZ+3SXXXYZXnnlFfzkJz/Bj370I8yfPx9vvPEGFi1alNjmBz/4AbxeL+644w44HA5cccUV2LFjBzQaTbpfzpg4e4qIiHJZqkBoskFQNnUy5jTxNE0TJyIiouk1mc/vtHcyJiIiIso0BjhERESUdxjgEBERUd5hgENERER5hwEOERER5R0GOERERJR3GOAQERFR3mGAQ0RERHmHAQ4RERHlHQY4RERElHcY4BAREVHeYYBDREREeYcBDhEREeUdBjhERESUdxjgEBERUd5hgENERER5hwEOERER5R0GOERERJR3GOAQERFR3mGAQ0RERHmHAQ4RERHlHQY4RERElHcY4BAREVHeYYBDREREeYcBDhEREeUdBjhERESUdxjgEBERUd5hgENERER5hwEOERER5R0GOERERJR3GOAQERFR3klrgDM4OIibbroJJpMJFosFt912Gzwez7jPCQQCuPvuuzFr1iwYDAZcf/31sNlsSdvIZLJRX6+99lo6XwoRERHlkLQGODfddBMOHDiAnTt34s0338T777+PO+64Y9zn3H///fjv//5vvP7663jvvffQ29uLf/iHfxi13QsvvIC+vr7E15o1a9L0KoiIiCjXyCRJktKx40OHDmHhwoX45JNPsHz5cgDAjh07cN1116GnpwdVVVWjnuN0OlFaWopXXnkF3/72twEAhw8fxle+8hW0tbXh0ksvjR20TIY//vGPUw5qXC4XzGYznE4nTCbT1F4gERERZdRkPr/TtoLT1tYGi8WSCG4AoKmpCYIgYPfu3Smfs3fvXoTDYTQ1NSUeW7BgAWbPno22trakbe+++26UlJRg5cqVeP7555GmOI2IiIhykCJdO7ZarSgrK0v+ZQoFiouLYbVax3yOSqWCxWJJery8vDzpOf/yL/+Cv/u7v4NOp8M777yDu+66Cx6PB//rf/2vlPsNBoMIBoOJ710u1xRfFREREeWCSQc469evx2OPPTbuNocOHZryAU3EQw89lPjzJZdcAq/Xi3/9138dM8DZvHkzHnnkkbQeExEREWWPSQc4DzzwAG699dZxt6mrq0NFRQXsdnvS45FIBIODg6ioqEj5vIqKCoRCITgcjqRVHJvNNuZzAKCxsRGPPvoogsEg1Gr1qJ9v2LABLS0tie9dLhdqamrGfQ1ERESUuyYd4JSWlqK0tPSc261atQoO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/vjj0sGDB6Wf/OQnklKplL744osMH3lumex5/sd//Edp69at0meffSYdOnRIuvXWWyWz2Sz19PRk+Mhzy2TPc9zx48el6upq6corr5S+9a1vZeZgc9hkz3MwGJSWL18uXXfdddIHH3wgHT9+XNq1a5e0f//+DB95bpnseX755ZcltVotvfzyy9Lx48elt99+W6qsrJTuv//+DB95bnnrrbekH//4x9If/vAHCYD0xz/+cdztjx07Jul0OqmlpUU6ePCg9Mtf/lKSy+XSjh070nqcDHAmaeXKldLdd9+d+D4ajUpVVVXS5s2bU27/ne98R/rGN76R9FhjY6P0T//0T2k9zlw32fM8UiQSkYxGo/TSSy+l6xDzwlTOcyQSkS677DLpN7/5jXTLLbcwwJmAyZ7nZ599Vqqrq5NCoVCmDjEvTPY833333dLf/d3fJT3W0tIiXX755Wk9znwykQDnBz/4gXTxxRcnPbZ27Vqpubk5jUcmSbxFNQmhUAh79+5FU1NT4jFBENDU1IS2traUz2lra0vaHgCam5vH3J6mdp5H8vl8CIfDiSGtNNpUz/O//Mu/oKysDLfddlsmDjPnTeU8/9d//RdWrVqFu+++G+Xl5Vi0aBF+/vOfIxqNZuqwc85UzvNll12GvXv3Jm5jHTt2DG+99Rauu+66jBxzoZipz8G0DdvMRwMDA4hGoygvL096vLy8HIcPH075HKvVmnJ7q9WatuPMdVM5zyP98Ic/RFVV1ah/VHTWVM7zBx98gN/+9rfYv39/Bo4wP0zlPB87dgx/+ctfcNNNN+Gtt95CZ2cn7rrrLoTDYWzatCkTh51zpnKe//Ef/xEDAwO44oorIEkSIpEIvve97+FHP/pRJg65YIz1OehyueD3+6HVatPye7mCQ3lny5YteO211/DHP/4RGo1mpg8nb7jdbnz3u9/Fc889h5KSkpk+nLwmiiLKysrw61//GsuWLcPatWvx4x//GNu2bZvpQ8sru3btws9//nP86le/wr59+/CHP/wBf/rTn/Doo4/O9KHRNOAKziSUlJRALpfDZrMlPW6z2VBRUZHyORUVFZPanqZ2nuOeeOIJbNmyBX/+85+xZMmSdB5mzpvseT569ChOnDiBv//7v088JooiAEChUODLL79EfX19eg86B03l73NlZSWUSiXkcnnisa985SuwWq0IhUJQqVRpPeZcNJXz/NBDD+G73/0u/uf//J8AgMWLF8Pr9eKOO+7Aj3/8YwgC1wCmw1ifgyaTKW2rNwBXcCZFpVJh2bJlaG1tTTwmiiJaW1uxatWqlM9ZtWpV0vYAsHPnzjG3p6mdZwB4/PHH8eijj2LHjh1Yvnx5Jg41p032PC9YsABffPEF9u/fn/j65je/ib/927/F/v37UVNTk8nDzxlT+ft8+eWXo7OzMxFAAsCRI0dQWVnJ4GYMUznPPp9vVBATDyoljmmcNjP2OZjWFOY89Nprr0lqtVp68cUXpYMHD0p33HGHZLFYJKvVKkmSJH33u9+V1q9fn9j+ww8/lBQKhfTEE09Ihw4dkjZt2sQy8QmY7HnesmWLpFKppP/9v/+31NfXl/hyu90z9RJywmTP80isopqYyZ7nrq4uyWg0Svfcc4/05ZdfSm+++aZUVlYm/fSnP52pl5ATJnueN23aJBmNRunVV1+Vjh07Jr3zzjtSfX299J3vfGemXkJOcLvd0meffSZ99tlnEgDpF7/4hfTZZ59JJ0+elCRJktavXy9997vfTWwfLxP//ve/Lx06dEjaunUry8Sz1S9/+Utp9uzZkkqlklauXCl9/PHHiZ9dddVV0i233JK0/e9//3vpwgsvlFQqlXTxxRdLf/rTnzJ8xLlpMud5zpw5EoBRX5s2bcr8geeYyf59Ho4BzsRN9jx/9NFHUmNjo6RWq6W6ujrpZz/7mRSJRDJ81LlnMuc5HA5LDz/8sFRfXy9pNBqppqZGuuuuu6ShoaHMH3gOeffdd1O+38bP7S233CJdddVVo57T0NAgqVQqqa6uTnrhhRfSfpwySeI6HBEREeUX5uAQERFR3mGAQ0RERHmHAQ4RERHlHQY4RERElHcY4BAREVHeYYBDREREeYcBDhEREeUdBjhERESUdxjgEBERUd5hgENERER5hwEOERER5R0GOERERJR3/n/6HB0yTwi9AQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Test 0\n",
    "beta0 = np.random.uniform(-10, 10)\n",
    "print(f'beta: {beta0}')\n",
    "beta0_vec = torch.from_numpy(beta0 * np.ones(101)).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u0 = torch.from_numpy(np.sin(beta0 * X[0])).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx]) + b)\n",
    "\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), u[-1], alpha=0.5)\n",
    "# plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta0_vec, u0), 1)).detach())\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta0_vec, vec), 1)).detach())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "beta: -6.395945853674199\n"
     ]
    },
    {
     "data": {
      "image/png": "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EREpDgMcIiIiUhwGOERERKQ4DHCIiIhIcRjgEBERkeIwwCEiIiLFqcpOxuntt/x+f4nPhIiIiM5X+r59PttoVmWAEwgEAADt7e0lPhMiIiKarkAgAJvNNuWYqtxNXJIkOBwOWCwWCEJ+N070+/1ob2/HwMAAdyovIF7n4uB1Lg5e5+LgdS6eQl1rWZYRCATQ2toKUZw6y6YqZ3BEUcSsWbMK+jOsViv/ARUBr3Nx8DoXB69zcfA6F08hrvW5Zm7SmGRMREREisMAh4iIiBSHAU6e6XQ6bNq0CTqdrtSnomi8zsXB61wcvM7FwetcPOVwrasyyZiIiIiUjTM4REREpDgMcIiIiEhxGOAQERGR4jDAISIiIsVhgDMDjz76KObOnQu9Xo+uri7s3r17yvHPPfccFi5cCL1ejyVLluCFF14o0plWtulc51/+8pd473vfi5qaGtTU1GDNmjXn/P9Co6b79zntmWeegSAIuPbaawt7ggox3evs9Xpx9913o6WlBTqdDgsWLODvjvMw3ev8yCOP4F3vehcMBgPa29tx3333IRqNFulsK9PLL7+Mj33sY2htbYUgCHj++efP+ZwdO3bg3e9+N3Q6HebNm4cnnnii4OcJmablmWeekbVarfzrX/9a3r9/v3zHHXfIdrtddrlcOcfv3LlTVqlU8ve//335wIED8te//nVZo9HI77zzTpHPvLJM9zp/6lOfkh999FH5zTfflA8ePCjfdtttss1mk0+ePFnkM68s073OaceOHZPb2trk9773vfLHP/7x4pxsBZvudY7FYvLy5cvla665Rn7llVfkY8eOyTt27JD37dtX5DOvLNO9zk899ZSs0+nkp556Sj527Jj8t7/9TW5paZHvu+++Ip95ZXnhhRfkr33ta/Lvf/97GYD8hz/8YcrxR48elY1Go7xhwwb5wIED8k9+8hNZpVLJW7duLeh5MsCZppUrV8p333135utUKiW3trbKmzdvzjn+k5/8pPzRj34061hXV5f86U9/uqDnWemme53HSyaTssVikZ988slCnaIizOQ6J5NJ+corr5T/53/+R7711lsZ4JyH6V7nxx57TO7o6JDj8XixTlERpnud7777bvmDH/xg1rENGzbIV111VUHPU0nOJ8D58pe/LC9atCjr2PXXXy+vXbu2gGcmy1yimoZ4PI49e/ZgzZo1mWOiKGLNmjXYtWtXzufs2rUrazwArF27dtLxNLPrPF44HEYikUBtbW2hTrPizfQ6f/vb30ZjYyNuv/32YpxmxZvJdf7jH/+IVatW4e6770ZTUxMWL16M733ve0ilUsU67Yozk+t85ZVXYs+ePZllrKNHj+KFF17ANddcU5Rzrhalug9W5WabM3Xq1CmkUik0NTVlHW9qasKhQ4dyPsfpdOYc73Q6C3aelW4m13m8r3zlK2htbZ3wj4rOmsl1fuWVV/CrX/0K+/btK8IZKsNMrvPRo0fxj3/8AzfddBNeeOEF9Pb24rOf/SwSiQQ2bdpUjNOuODO5zp/61Kdw6tQpvOc974Esy0gmk/jMZz6Dr371q8U45aox2X3Q7/cjEonAYDAU5OdyBocU58EHH8QzzzyDP/zhD9Dr9aU+HcUIBAK4+eab8ctf/hL19fWlPh1FkyQJjY2N+MUvfoFly5bh+uuvx9e+9jU8/vjjpT41RdmxYwe+973v4Wc/+xn27t2L3//+9/jLX/6C73znO6U+NcoDzuBMQ319PVQqFVwuV9Zxl8uF5ubmnM9pbm6e1nia2XVOe+ihh/Dggw/i73//Oy699NJCnmbFm+517uvrw/Hjx/Gxj30sc0ySJACAWq3G4cOH0dnZWdiTrkAz+fvc0tICjUYDlUqVOXbxxRfD6XQiHo9Dq9UW9Jwr0Uyu8ze+8Q3cfPPN+I//+A8AwJIlSxAKhXDnnXfia1/7GkSRcwD5MNl90Gq1Fmz2BuAMzrRotVosW7YM27dvzxyTJAnbt2/HqlWrcj5n1apVWeMBYNu2bZOOp5ldZwD4/ve/j+985zvYunUrli9fXoxTrWjTvc4LFy7EO++8g3379mUe//7v/44PfOAD2LdvH9rb24t5+hVjJn+fr7rqKvT29mYCSAA4cuQIWlpaGNxMYibXORwOTwhi0kGlzG0a86Zk98GCpjAr0DPPPCPrdDr5iSeekA8cOCDfeeedst1ul51OpyzLsnzzzTfL999/f2b8zp07ZbVaLT/00EPywYMH5U2bNrFM/DxM9zo/+OCDslarlf/3f/9XHhoayjwCgUCp3kJFmO51Ho9VVOdnute5v79ftlgs8j333CMfPnxY/vOf/yw3NjbK3/3ud0v1FirCdK/zpk2bZIvFIv/2t7+Vjx49Kr/44otyZ2en/MlPfrJUb6EiBAIB+c0335TffPNNGYD8ox/9SH7zzTflEydOyLIsy/fff7988803Z8any8S/9KUvyQcPHpQfffRRlomXq5/85Cfy7NmzZa1WK69cuVJ+9dVXM99bvXq1fOutt2aN/93vficvWLBA1mq18qJFi+S//OUvRT7jyjSd6zxnzhwZwITHpk2bin/iFWa6f5/HYoBz/qZ7nf/1r3/JXV1dsk6nkzs6OuT/+q//kpPJZJHPuvJM5zonEgn5m9/8ptzZ2Snr9Xq5vb1d/uxnPyuPjIwU/8QryD//+c+cv2/T1/bWW2+VV69ePeE5S5culbVardzR0SFv2bKl4OcpyDLn4YiIiEhZmINDREREisMAh4iIiBSHAQ4REREpDgMcIiIiUhwGOERERKQ4DHCIiIhIcRjgEBERkeIwwCEiIiLFYYBDREREisMAh4iIiBSHAQ4REREpDgMcIiIiUpz/H3sijPPP2JOKAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Test 1\n",
    "beta1 = np.random.uniform(-10, 10)\n",
    "print(f'beta: {beta1}')\n",
    "beta1_vec = torch.from_numpy(beta1 * np.ones(101)).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u0 = torch.from_numpy(np.sin(beta1 * X[0])).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx]) + b)\n",
    "\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), u[-1], alpha=0.5)\n",
    "# plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta1_vec, u0), 1)).detach())\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta1_vec, vec), 1)).detach())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "beta: -2.2195371093503447\n"
     ]
    },
    {
     "data": {
      "image/png": "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wpEjR9DY2JjP4cvGZH6fr7vuOnR2dqaCQwA4efIk6uvrGbiMYjLnORgMjghQkgGjxC39pk3B7oM5TQeWmRdffFHSarXSL3/5S+nYsWPS5s2bJavVKjkcDkmSJOmee+6Rtm7dmjp+7969kkqlkh5//HGpvb1deuSRR1gqPQHZnufHHntM0mg00u9+9zupt7c39fD5fIX6EWQh2/OcjtVGE5PteT579qxkMpmkLVu2SCdOnJBee+01qba2VvrXf/3XQv0IspDteX7kkUckk8kk/frXv5ZOnTolvfnmm1Jzc7N0xx13FOpHkAWfzye999570nvvvScBkP793/9deu+996SPPvpIkiRJ2rp1q3TPPfekjk+WSn/961+X2tvbpaeffpql0oXw1FNPSbNnz5Y0Go10zTXXSH/9619TX7vxxhule++9d9jxv/3tb6UFCxZIGo1GWrJkifSHP/whzyOWp2zO85w5cyQAIx6PPPJI/gcuM9n+Pg/F4GXisj3P77zzjrRy5UpJq9VKTU1N0ve//30pHo/nedTyk815jsVi0ne/+12publZ0ul0UmNjo/S1r31NGhgYyP/AZeR///d/M15vk+f23nvvlW688cYRr1m2bJmk0WikpqYmaceOHTkfp0KSOH9GRERE8sGcFyIiIpIVBi9EREQkKwxeiIiISFYYvBAREZGsMHghIiIiWWHwQkRERLLC4IWIiIhkhcELERERyQqDFyIiIpIVBi9EREQkKwxeiIiISFYYvBAREZGs/P/ph4sQ4Q4VuQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Test 2\n",
    "beta2 = np.random.uniform(-10, 10)\n",
    "print(f'beta: {beta2}')\n",
    "beta2_vec = torch.from_numpy(beta2 * np.ones(101)).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u0 = torch.from_numpy(np.sin(beta2 * X[0])).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx]) + b)\n",
    "\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), u[-1], alpha=0.5)\n",
    "# plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta2_vec, u0), 1)).detach())\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta2_vec, vec), 1)).detach())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Training Loop\n",
    "def train_loop(dataloader, model, loss_function, optimizer):\n",
    "    size = len(dataloader.dataset)\n",
    "    for batch, (t, x) in enumerate(dataloader):\n",
    "        # Compute prediction and loss\n",
    "        pred = model(t)\n",
    "        loss = loss_function(pred, x)\n",
    "\n",
    "        # Backpropagation\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "\n",
    "        if batch % 100 == 0:\n",
    "            loss, current = loss.item(), batch * len(t)\n",
    "            print(f\"loss: {loss:>7f}  [{current:>5d}/{size:>5d}]\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1\n",
      "-------------------------------\n",
      "loss: 0.069506  [    0/10000]\n",
      "loss: 0.000378  [ 1600/10000]\n",
      "loss: 0.000165  [ 3200/10000]\n",
      "loss: 0.000037  [ 4800/10000]\n",
      "loss: 0.000213  [ 6400/10000]\n",
      "loss: 0.000058  [ 8000/10000]\n",
      "loss: 0.000058  [ 9600/10000]\n",
      "Epoch 2\n",
      "-------------------------------\n",
      "loss: 0.000192  [    0/10000]\n",
      "loss: 0.000020  [ 1600/10000]\n",
      "loss: 0.000123  [ 3200/10000]\n",
      "loss: 0.000016  [ 4800/10000]\n",
      "loss: 0.000067  [ 6400/10000]\n",
      "loss: 0.000014  [ 8000/10000]\n",
      "loss: 0.000008  [ 9600/10000]\n",
      "Epoch 3\n",
      "-------------------------------\n",
      "loss: 0.000045  [    0/10000]\n",
      "loss: 0.000304  [ 1600/10000]\n",
      "loss: 0.000563  [ 3200/10000]\n",
      "loss: 0.000015  [ 4800/10000]\n",
      "loss: 0.000010  [ 6400/10000]\n",
      "loss: 0.000009  [ 8000/10000]\n",
      "loss: 0.000008  [ 9600/10000]\n",
      "Epoch 4\n",
      "-------------------------------\n",
      "loss: 0.000006  [    0/10000]\n",
      "loss: 0.000020  [ 1600/10000]\n",
      "loss: 0.000008  [ 3200/10000]\n",
      "loss: 0.000004  [ 4800/10000]\n",
      "loss: 0.000006  [ 6400/10000]\n",
      "loss: 0.000034  [ 8000/10000]\n",
      "loss: 0.000077  [ 9600/10000]\n",
      "Epoch 5\n",
      "-------------------------------\n",
      "loss: 0.000033  [    0/10000]\n",
      "loss: 0.000101  [ 1600/10000]\n",
      "loss: 0.000008  [ 3200/10000]\n",
      "loss: 0.000004  [ 4800/10000]\n",
      "loss: 0.000006  [ 6400/10000]\n",
      "loss: 0.000006  [ 8000/10000]\n",
      "loss: 0.000201  [ 9600/10000]\n",
      "Done!\n"
     ]
    }
   ],
   "source": [
    "for t in range(epochs):\n",
    "    print(f\"Epoch {t+1}\\n-------------------------------\")\n",
    "    train_loop(dataloader, model, loss_function, optimizer)\n",
    "print(\"Done!\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Test 0\n",
    "u0 = torch.from_numpy(np.sin(beta0 * X[0])).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx]) + b)\n",
    "\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), u[-1], alpha=0.5)\n",
    "# plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta0_vec, u0), 1)).detach())\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta0_vec, vec), 1)).detach())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGdCAYAAAAfTAk2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABaiUlEQVR4nO3deXhU5d0//veZNctkss5kIxBCgLAJliUGRAQjoS7oI4+i9RKkKI+KtoJtBWsFl4q21PJIKfy0denzdQNLLSJFEE2rsimCLAEk7GRfSCb7LOf8/phMyDJJzkkyk1ner+vKJZmcmZw5RM4n9/2537cgSZIEIiIiogCi6u8TICIiIuprLHCIiIgo4LDAISIiooDDAoeIiIgCDgscIiIiCjgscIiIiCjgsMAhIiKigMMCh4iIiAKOpr9PoD+IoojCwkJERERAEIT+Ph0iIiKSQZIk1NTUICkpCSpV12M0QVngFBYWIiUlpb9Pg4iIiHrg4sWLGDBgQJfHBGWBExERAcB5gYxGYz+fDREREclhsViQkpLSch/vSlAWOK5pKaPRyAKHiIjIz8hpL2GTMREREQUcFjhEREQUcFjgEBERUcBhgUNEREQBhwUOERERBRwWOERERBRwWOAQERFRwGGBQ0RERAEnKIP+iIjIB4gO4PxuoLYEMMQDgyYDKnV/nxUFCBY4RETkHa0LmorTwHdvAZbCK183JgEzVwHhsSx6qNe8MkW1bt06pKamIiQkBJmZmdi/f3+nxx47dgxz5sxBamoqBEHAmjVrOhyzcuVKCILQ5iMjI8OD74CIiBQRHcDZL4EjHzr/e+wjYM1o4O1bgL8vBHJfbFvcAM7PP5x/5Zi3bwH+OArIffnK64iOfnk75H88PoLzwQcfYOnSpdiwYQMyMzOxZs0a5OTk4OTJkzCbzR2Or6+vR1paGu68804sWbKk09cdNWoUPvvss5bPNRoORhER9ZvuRmd6qqbIWQy5GJOAWS8DI2f3/rUpoHm8KnjllVfw4IMPYsGCBQCADRs24JNPPsEbb7yBZcuWdTh+4sSJmDhxIgC4/bqLRqNBQkKCZ06aiIjky9sCbH+ybwqa7liKgI33Adc/BcQO4TQWdcqjBY7VasWBAwewfPnylsdUKhWys7OxZ8+eXr32qVOnkJSUhJCQEGRlZWHVqlUYOHCg22ObmprQ1NTU8rnFYunV9yYiCmrtR2tyVwGQvPTNm78PR3WoGx4tcMrLy+FwOBAfH9/m8fj4eJw4caLHr5uZmYm33noLw4cPR1FREZ599llMnToVR48eRURERIfjV61ahWeffbbH34+IiJp5c7RGLkuhc1TnmkeA4TdxRIcA+GkOzo9//GPceeeduOqqq5CTk4Nt27ahqqoKGzdudHv88uXLUV1d3fJx8eJFL58xEVEAyNsCbJznW8VNa3v/7GxMXjPaea4U1Dxa4MTFxUGtVqOkpKTN4yUlJX3aPxMVFYVhw4YhPz/f7df1ej2MRmObDyIikkl0AKdzgY9/Bk9ORfXZK1uKnIUYi5yg5tECR6fTYfz48di1a1fLY6IoYteuXcjKyuqz71NbW4vTp08jMTGxz16TiIjgLBLWjAb+7zag4XKvXqp9AeOuoOmbIkdyfmxdAhzeyOXlQcrjq6iWLl2K+fPnY8KECZg0aRLWrFmDurq6llVV8+bNQ3JyMlatWgXA2Zicl5fX8ueCggIcOnQIBoMB6enpAIBf/OIXuPXWWzFo0CAUFhZixYoVUKvVuOeeezz9doiIgodrSqoPyg4RgNDusQohDp+FzcIPdjMqhWgkauuxsO51xInlLcdIbp4nW305sPlB55/ZiBx0PF7gzJ07F2VlZXjmmWdQXFyMcePGYfv27S2NxxcuXIBKdWUgqbCwEFdffXXL56tXr8bq1asxbdo05ObmAgAuXbqEe+65BxUVFTCZTLj22muxd+9emEwmT78dIqLgIDqczcQ9LG7aFyYVqji8HbEIRdZQJGosKLJH4pJxHJpEAQ1WB8L1GhxpsOGz0Am4RnsK4U1lGCiUYGbj9j4peCRLEYSN84C7/sYiJ0gIkiR5a22fz7BYLIiMjER1dTX7cYiIWnMtAT/7b+A/v5f9tPaFR7kQhx2hOTgvJaBeb8I++zCEhujQZJcwIiEC+WV1qLfaYXeISIwKRaIxBN+ed06BTRgUhcLqRhRXN0EnODBBfRLDwuogVJ7BfOt7kNCz/goJAgRjEvD4Ea6y8lNK7t+M/yUiIqceLgF3TT99Fv9THG8y41yTAZeM4yAKalTVWzHcbISuvA7FliYMiA5FYlQoBAE4WmiBKArQqVUQBAEzR8ZDAlBVb4Neo4ZKAAS1Fk3Jk3FGr8HuugqcRgp+Zn8DplajOnIJkABLAbBvA5D5EIucAMcRHI7gEBH1qt+mTBWHdboH8EPsdKTFheP7S9VosNqh06hgFyWMHRCF4upGWBptMEXoodeooNeoMcQUjrEpUYiL0CNcp0FyVCgAoKCqAXVWO8pqmvD9xSqcKatDo82OcxUNsDtEZKYaMajuMKIufIY5ti09G9FhT45fUnL/ZoHDAoeIgp3ocK6UUjByIwFoUBvxh8in8KX1yvRTVlos7KKE/NIanK+oR0SIBiMTjRgaH4HskWaEajWos9pbChqVquuOGlGU2hQ8/zpSjMv1Vhj0anx/qRrX2fdgUf1rMEsVit6yBME5pcaeHL/CKSoiIpJHdDinbBQUN64pqX+mPAlr1FToL1ahttEOhySiweZAmE6NyFAtJg6Owc1jEjEi0SirmHFHpRKQEhMGAMhIABIjQ/Dp0RLkl9ZAALDNPhF5CdfihrDTiLCWYebF/4URlm5HdARIziJn+zIg42ZOVwUgFjhERMGqhz03lSoT/qRbiB9sEzAhTItxKVHIK6xGaU0TSiyNiA7T4aoBUZg5Kh7p5o7b5/RGujkCadcbUFDVgOPFFnzyfRGa7CIKoibA5hBxrMyGlY0vQUT301YtPTnndwODp/bpeVL/Y4FDRBSMetBz83fDPdjtGNWyvLuxzoqaRjuiw7QwRegxITUGt41LQkSItscjNnK4RnVSYsKQFheOT4+W4HRZrbNPJ/RaPCcsw+P2vyLSVibr9cS8fzqLIe5hFVDYg8MeHCIKNgp7biQANbp4rB6xCQcv1aDBakeYXoO6JhvGJEehyS4iJlyHBVNS+3zERg53fTpVdQ3Iqf0It5Wsk/06kjEJAhuPfZqS+7dfbrZJRES9cH637OJGbP7vJ0k/Q7QhFONSomCKCEFdkx2NNmfPzZjkyH4rboArIzoZCUZMHWrCT69NxajkGHwcMhsliG15D+11+O3eUgiJe1gFDE5REREFC1eI33H5N/ByIQ7r9AtxyjYBEyQJMeE6TBgUhcMF1UiLM2DBlFQMiA7z2HRUT7j6dL49H40Pty3GI2XPdQgidJeILACQIMG27Ulo2Xjs91jgEBEFgx40FH+S9DO81piNqkYRGksjqupt0KgFFFU3YkB0GO69ZiAGxoZ78KR7TqUSMGFQDL4ZcRteU6vwk8o/I8Ja2vL1zsoxAYC2thDiua+hSrvOK+dKnsEpKiKiQOdqKG5X3HTWgCkBsOjicSr1J7hqYCwSIvVotDlwtqIOVfW2fp+SkkulEpAzOh4X4rPxZMo7eHvYn7An7g5Zzy06uB2i3e7hMyRP4ggOEVEg62LTTAEdp2pcGTefJP0MkqBGTLgaIxONiArV4Z7MgRhiMnh0hVRfSzdHYMGUVHx6tATfl43BJaEeWdjc7fOSj6xDzclNqJ3+AhKz5nrhTKmvscAhIgpk3TQUty9TKlVx+JPuAWfGTfMi22JLE8amROG6oSa/KWxaa52dc7okHpUf/h7RjrJudyU3WEth+HQRigAWOX6IBQ4RUaASHcCZf8s6dE/cHGyxTsABcTg0Wi3stU0oqm5EbZMdMeE6zBwV75fFjYtrpVVyVCg+Hf4rzMr7pdtG49ZcI1yG3N9AnDgHKg1vmf6EPThERIEob4sz6+bL38s6/FLCjdCkXYdYYzjsogRLgw2VdU1+028jl0olYOj19+DdQb9FldrU7fECgIimEpTn5Xr83KhvsRwlIgo0ClKKXSF+BcZxiBHUmJgajaLqBlTW2fA/09IwYVCMX4/cuJNujgBuno/3jtyIlO//F7da3un2OYWXzqJpQL1f9R8FOxY4RESBpIum4g6Hom1DsUttkwPjB0UHZHHjkm6OQNr0YTgZdjPwafcFzvkTB/F1sQbCoMmYOSYpYEa0AhkLHCKiQKIgpbhCiMNq9QLkN1yNTIeIRpsDRdWNAdFzI4dKJWD4xBzUfGGGwVrqth/H1adzm+UdwPIOLheYsO3C48DN81nk+Dj24BARBZLaElmH7R3wU6y9ajPyY6aj1NKE40UWv8q46SsqjQa1018A0HHMy90YWJSjDD85/2vk574HUQy6rRz9CkdwiIgCgWsbhrITsg6/GDUJ0YZQZKbpcLzIgrsmpmB0UmRQ9pgkZs1FEQDDF0+3STsGOtvOAcj84fcoqLwHKXHBUQj6IxY4RET+zs02DJ0tgW7dVAwAjTYR0WF6jE6KREpMmDfO1iclZs2FOHEOSvNyYcnbifQTG7rcziHaXoqa87uBuBxvniYpwAKHiMifdbFiqruUYkmSUFTdiDHJzpGbYKfSaGC+KhvquhJAxkCYtaoQoigF3YiXv2CBQ0Tkr2Rsw9BauRCHV7U/Rb51PEY0WFFsaQqahmIlouNTZB23/ZwEIfc0ckbHB03Pkj9hgUNE5K9kbsOwd8BCHNOPw676ISiptaGxsh6RoVqMHRCFmaN4c25PlToFtvBEaOqK3E5TiQAa1EYYQ9TYW1CJwuqGoGrM9hcscIiI/JXMFVOVYYNhMV2DCZKEy/VWnKuowz2TBvrt3lIep1JDe/PvIG2cBwlSmyJHgnP5cbjDgnmnfob/0pnxbswj2HHsVqTFGXg9fQiXiRMR+SPRIbvAqdPFAQAEQYBWrYLJEIIhJt6MuzRyNoS7/gYYk7o8zGAtxaLilQjN34aCqgYvnRzJwQKHiMjfuPaZ+vSpLg+TAFharZhyNRWnmw1sKpZj5GwIjx/FhVveR60qwu3KNNfnt5W8irrGJi+fIHWFBQ4RkT9xrZpq13vTvqFYbP7v9gE/h00SUNNow6nSWjYVK6VSI0SnhUGs6XLZeIy9DDHlB7x5ZtQN9uAQEfmLblZNtXZZbcJrYQ/itDQJ+vI66DVqjEmOZFNxD8ThsqzjrFWFuFjJDTl9BQscIiJ/IXOfqdzUJTiYeBfOl9ZjSGw4bhuXhIgQLW+8PaSKSJB13KaTNlws+gFDTAYuHfcBnKIiIvIXMpuK63WxgEqDpKhQlNU0ISJEi5SYMBY3PTVoMmBMaree6goRQK06CsNCazDWcQTHCirx5tfnkF9a493zpDZY4BAR+QtDvKzDXKumQnVqNNkdqLPaPXlWgU+lBma93Bye2LbIcTUeGxxVuDl/Beb/8ChevngvBpZ8hh3HSrghZz9igUNE5OtEB3D2S6CmCAiLg/tdpjqummqwOqDXqBGuYzdCr42cDdz1NwjGxG4P5dJx38CfeiIiX9bJRpqA+32m/p22lPtMecrI2UDGzcD53Si4eBrG3GdgEKs73XH8tpJXUdp4H4Dg3cS0P7HAISLyVV1spNleKWLxWtiDaNRNRkijDUXVjVwS7gkqNTB4KrQ1TYgQqzs9zLV0vOT8bogJN/HvoB+wwCEi8kUyNtKs00TjP4OXoFCMxq76NJyrbELE+csYmWjkknAPk7t0/Jsjx/F5w3CuquoHLHCIiHyRjI00w+2XUas3wxI5HhMkCckxDaiss+GezIGYMCiGowYeJHfpuGSIx9HCam7I2Q/YZExE5ItkLgkPt5YDcO4zZTaGIESrgjFUy+LG07pZOu5q+L4cNwFDzQZU1lm5qsrLWOAQEfkihUvCAa6a8qpulo4DwKm4GUi2HIIKIhIjQ5BfWstVVV7EAoeIyNeIDudHaHSnh3AjTR/QydJxCSoIAMYXvoc7jz6Ehd/OxlU1/2EmkZexwCEi8iWuncL/7zagwdnIyo00fdjI2cDjR1F6x9+RG/3fzcF/YptDDNZS3PbDMkyo/5qja17EK01E5CtkLgvnRpo+RqVG3MjrMX7rwwA6xjC6Vr39d/mfEG58xNtnF7RY4BAR+QIZy8Ib1EZsy1iFi8YfcSNNH6O6uAcR1tJOvy4AiGgqwYXvd0EYPJV/X17AAoeIyBfIWBYe5rBAEtRuN9KkfiZz1dtn33yPo/nx3HHcC9iDQ0TkCxQuC+dGmj5G5qq38JgBiArT4mhhNXcc9zAWOEREvkDhsnAuCfcxzbk43W2EWhR1NSJCtMzG8QIWOEREvkDmDbLAOI5Lwn1Rcy6Ok/tcnKPxt2FY+WcYUH2A2ThewNKfiKg/iQ5n/01tCfCj+4HcVZAgQGjVbOz60+epS2BpElFUXc8l4b6oORen/e7vDZpICAAmX3yt5bEanRm7UpdipzSJ04wewgKHiKi/5G3pcDO066Ngc0gItV/ZqbpSbcIHsY/gmDQJ+nobl4T7spGzgYybgfO7UVF8AfsPfINZ5W92OMyVjXM5+XmE60b0w4kGPq9MUa1btw6pqakICQlBZmYm9u/f3+mxx44dw5w5c5CamgpBELBmzZpevyYRkc9xZd60WzmlbqpCiL0aXyQ+gK1Dn8fbw/6Epwe9g5Mx03HbuGQsuXEYHpo2hMWNL1OpgcFTET1xLq61fALAfTYO4MzGSTbqvHp6wcLjBc4HH3yApUuXYsWKFfjuu+8wduxY5OTkoLTUfV5AfX090tLS8NJLLyEhwf1urUpfk4jIp3STeQMA4ys+Rr7pRlSaMjE0IQpWu4j80lrmp/gRVzZOZ39brmyc8rxcNhp7gMcLnFdeeQUPPvggFixYgJEjR2LDhg0ICwvDG2+84fb4iRMn4ve//z3uvvtu6PX6PnlNIiKfIiPzxmgtQbLlkPNzQWBDqj+SufT/072HsD73NJeM9zGPFjhWqxUHDhxAdnb2lW+oUiE7Oxt79uzx2ms2NTXBYrG0+SAi6jcKM28A5t74JZlL/0VDPHNxPMCjBU55eTkcDgfi49v+JcfHx6O4uNhrr7lq1SpERka2fKSkpPToexMR9QmFmTcAc2/8ksyl/5fjJjAXxwOCIgdn+fLlqK6ubvm4ePFif58SEQUzBZk3AJh7469kZOOcipuBZMsh5uJ4gEcLnLi4OKjVapSUtB2OLSkp6bSB2BOvqdfrYTQa23wQEfULV+7NyNsBSJA6ufFtH/Bz2CQBNY02nCqtZe6Nv3Jl4xgT2zwsQQUBwPjC93Dn0Yew8NvZuKrmP5yG7EMeLXB0Oh3Gjx+PXbt2tTwmiiJ27dqFrKwsn3lNIiKvyNsCrBkNvH0LsPfPANChwLFozdiU9iL26qfgXHkdqppzbxZMSeXScH81cjbw+FGU3vF35Eb/NyQAAsQ2h7hycSbUf81pyD7i8au4dOlSzJ8/HxMmTMCkSZOwZs0a1NXVYcGCBQCAefPmITk5GatWrQLgbCLOy8tr+XNBQQEOHToEg8GA9PR0Wa9JRORzXLk37ZaGCxAhATiQcA+OGadgn2M4osJDcMeYRMRF6BGu03BpeCBQqRE38nqM3/owAPe5OBKcuTjhxke8fXYByeMFzty5c1FWVoZnnnkGxcXFGDduHLZv397SJHzhwgWoVFcGkgoLC3H11Ve3fL569WqsXr0a06ZNQ25urqzXJCLyKd3k3kgAhlV+jq/Sfo50qHCqtBaHL1XjoWlDWNgEEFcuTmdcuTgXvt8FYfBUFra9JEiSFHTt2haLBZGRkaiurmY/DhF53tkvndNS3dg0egMuRY5HTaMNVfU2LLlxGFJiwrxwguQVRz4E/r6w28PeSPg1jkbPxBCTATmjuSVHa0ru30GxioqIqF8pzL1h5k2AkhkPEB4zAFFhWmbj9BILHCIiT1OYe8PMmwAlMx6gKOpqRIRomY3TSyxwiIg8TUHuDTNvApiMXJx/py2FJKidR3CLjl5hgUNE5Gmtbmyd5d58nroEliaRmTeBrpNcnBpdPLYOX4VGTSSGl32KAdUHIEgOTlf2Asc/iYg8xRXqV1sCGOJRNHM9DLnPtFlJU6k24YPYR3BMmgR9c+bNzFFsLA1oI2cDGTcD53ejovgC3j9uhVldi1ln/9jmZ6NGZ8a/BjyOIv0UTlf2AK8YEZEn5G1xLg1vtWt4mNaE92Iehj7SjFjpMiqEaOy1D4NOp8NtYxIxItHIpcHBQqUGBk9F9CAJaRdfx6y8pzscYrCW4s4zT8E48vdIjhrbDyfp3zhFRUTU11yhfq2KGwAw2srwYMlziFHV4ZR5FipNmRiaEAWrXUR+aS2LmyCkgojs868AcB/+BwA3XPgjVO2Sj6l7LHCIiPpSN6F+ADDtzCsQJIfzMTaSBrfzu6GtK+qk/dz5M6OtLUTp0S+4kkohFjhERH3p/O4OIzetCQCM1hIkWw61PMZG0iAmMyPp072HsD73NDNxFGCBQ0TUlxSG+gHMvQlqMjOSREM8g/8UYoFDRNSXFIb6MfcmyMnMSLocN4HBfwqxwCEi6ksybljVWjPOG65CTaONuTfBTkH4H/u1lGGBQ0TUV1y5NyNvByC5CfUTAAjYbH4MZysaUdWce7NgSipzb4JZV+F/GS8jP3ZGy2Ps15KPE75ERH3BTe6NBAFCq9VUtXozaq5/HtnDb0WW1Y5wnYZLw8mpOfyv9OgX+HTvIYiGeFTFXo2kmiMYXvYp6nRxKDCOQ4NVZL+WTLxCRES95cq9abc0XIAICcCBhHtwzDgF+xzDEV0cigVDHMhIMPbLqZIPU6kRN/oGWMpTofnhY/z03H91SDZ+N+YRxA2/lf1aMnCKioioN2Tk3gyr/ByX4yYgPT6STaLUJZVKwB2hB7CoeCUMrYobwJlsvKh4Jf4r5ABH/WRggUNE1BsKcm/YJErdEh1I3LMSQGfJxgJMX6/EicLLuFhZz0K5C5yiIiLqDYW5N6E6NUosjWwSJfeaC+bOk40laGoL8a9PNuOicTyGmAzIGc3NWd3hCA4RUW8ozL1hqB91SWbBPDSsDlFhWob/dYEFDhFRb8gMaiswjmOoH3VPZsHcoDchIkTL8L8usMAhIuoNGUFtn6cugaVJZKgfdU9BwQxws9ausMAhIuqt5qA2qV1QW60+Hm8lP4+d0iSG+pE8CpKNXRj+5x4ngYmIesKVWlxbAhjikR9zHXaM/QjS+d0ItZahQWcCBmZh7KBYZEXoGepH8rmSjdsFR1q0ZvwnbQkaNZEM/5OBV4OISCk3qcUmrQnq2MUoSZ6JMJ0G9VY7iorrUFhjw4IpqUiJCevHEya/05xsjPO7IdYU45/5DpSVFOCes39k+J9MLHCIiJToJLXYaCvDouKV2BoVivyQGYgI0cKg1+BUaS12HCtBWpyBozekjEoNDJ4KFYBr6j5AwuHnOhziCv8rHpsElSrd++fow9iDQ0Qkl4zU4mlnXoEgOZyPsQGU+oKM8L+4r1biYnkNV1K1wgKHiEguBanFLmwApV6TEf6nrSvEli0fYn3uaWbiNGOBQ0Qkl8LUYoDBftQHZP7cJairGPzXCgscIiK5FKYWM9iP+oTMnzsxPIHBf62wwCEikktGCFu11ozzhqtQ02hjsB/1DQXhf+z7uoIFDhGRXF2GsAkABGw2P4azFY0M9qO+ozD8j31fTpwUJiKSwxXs57AC1y+HdOAtCDWtGo6NSZByViE78UZkWe0M9qO+1Un4X40uHv9OW4r82Bktj7Hvyym43z0RkRxugv1qtSZ8FfdTFGkS0aAzQRg0GTNNSUhnoB95SnP4n3jua3y2/zCOWkIhDMoCVFdu5a6+rzHJkUHf98UpKiKirriC/dotDzfYyjCr/A3EGo2oME3CkaJarl4hz1OpoUq7Dmkz5qPCNMnZ51W2D+ml/0JM2T7kl1Sz76sZR3CIiDrTTbCfBGD6uVdwdsI0GMwGphaT16SbI/BoQh4MXzzdZuuGOTozaqa/gETzmH48O9/AERwios4oCPbj6hXyqrwtSPz0f2BoVdwAQLi1DAmf/g/K92/CiWILLlbWB+1ycY7gEBF1RmGwX6hOjRJLY9CvXiEPazWy2HHrBgkSAPWOp7A2dRD0Wh2GmAzIGR0fdKv5OIJDRNQZhcF+XL1CXiFjZDHaXorrdPmICtMGbboxCxwios4oCFhjajF5jcyRxQh7BSJCtEGbbswCh4ioMzIC1j5PXQJLk8jUYvIehSOLwdofxgKHiKgrzQFrkjGxzcO1+ni8lfw8dkqTmFpM3qVgZNElGNONOVFMRNSeK7W4tgQwxCM/5jrsGPsRpPO7EWotQ4POBAzMwthBsciK0DO1mLzLNbK4cR6uBBY4udu6AQjO/rDgeadERHK4SS02aU1Qxy5GSfJMhOk0qLfaUVRch8IaGxZMSUUK04vJ2zrZuuGyxoSvhvwCp1tt3RCs6cYscIiIXFypxe2C/Yy2MiwqXomtUaHID5mBiBAtDHoNg/2ofzVv3eAabSywR2D92XhU1lmRWbYPMVIlKoUY7HMMR4whNOj6w1jgEBEBslKLp515BadjpkES1B0aNzmKQ/1CpQYGTwUAJANY3PgB042bscmYiAhQlFrsEoyNm+TDukk3vrT7g6BKNuYIDhERoDi1GAjOxk3yUTLSjcM+/zV+eyEdaebIoEg25ggOERGgOFuEwX7kU2SMQMbYy3CVmBc0ycYscIiIAFnZItVaM84brkJNo43BfuRbZI5AmlAVNMnGXilw1q1bh9TUVISEhCAzMxP79+/v8vhNmzYhIyMDISEhGDNmDLZt29bm6/fffz8EQWjzMWvWLE++BSIKdF2mFgsABGw2P4azFY0M9iPfo2AEMliSjT1e4HzwwQdYunQpVqxYge+++w5jx45FTk4OSktL3R6/e/du3HPPPVi4cCEOHjyI22+/HbfffjuOHj3a5rhZs2ahqKio5eO9997z9FshokDXSWoxjEmQ7nwb2XMewGM3DMWSG4fhoWlDWNyQ71CYbhwMDfKCJEkeHZ/KzMzExIkT8ac//QkAIIoiUlJS8Nhjj2HZsmUdjp87dy7q6uqwdevWlseuueYajBs3Dhs2bADgHMGpqqrCRx991KNzslgsiIyMRHV1NYxGY49eg4gCSKvk4gJ7BLZUpEC8sK8ltVgYNBkzxySxoCHf1pLjBLhLN96a8TLymwMAaxptqKq3YcmNw/wq4kDJ/dujIzhWqxUHDhxAdnb2lW+oUiE7Oxt79uxx+5w9e/a0OR4AcnJyOhyfm5sLs9mM4cOH4+GHH0ZFRUWn59HU1ASLxdLmg4gIgPOmsGY08PYtwN8XIvmfd+HuPbNh0tSjcvBtqDBNwpGi2qBoyiQ/50o3bjcCWaOLb1PcBEuDvEfXNpaXl8PhcCA+vu3cYHx8PE6cOOH2OcXFxW6PLy4ubvl81qxZuOOOOzB48GCcPn0aTz31FH784x9jz549UKvV7V8Sq1atwrPPPtsH74iIAkonycVRjjLceeYpbNWpkR87g6nF5D9apRsXF57D1jMivsMIJISHI1QU0WB1oKi6MSga5P0yvOHuu+9u+fOYMWNw1VVXYciQIcjNzcUNN9zQ4fjly5dj6dKlLZ9bLBakpKR45VyJyEcpSC6GoGZqMfmP5nTjhMFTcf3QGliPFLbZKNaUOhk3jg78KVePFjhxcXFQq9UoKWm7fK2kpAQJCQlun5OQkKDoeABIS0tDXFwc8vPz3RY4er0eer2+B++AiAKWguTiS5HjEapTo8TSGNBNmRR40su/wJDvn4TQ6mddqkqCFP8SLmpuRJ3VjnCdBslRoQE3muPRHhydTofx48dj165dLY+Joohdu3YhKyvL7XOysrLaHA8AO3fu7PR4ALh06RIqKiqQmJjY6TFERG0oTC5majH5neYpWKF9IW8pgrBpHj77+1/w6q5T+OPOH7A+93TA9Zh5fJn40qVL8frrr+Ptt9/G8ePH8fDDD6Ourg4LFiwAAMybNw/Lly9vOf7nP/85tm/fjj/84Q84ceIEVq5ciW+//RaPPvooAKC2tha//OUvsXfvXpw7dw67du3CbbfdhvT0dOTk5Hj67RBRoFCQGxIsTZkUQLqcgnU+dkfpWgyJDUVUmDYg0409/qvI3LlzUVZWhmeeeQbFxcUYN24ctm/f3tJIfOHCBahUV+qsyZMn491338XTTz+Np556CkOHDsVHH32E0aNHAwDUajUOHz6Mt99+G1VVVUhKSsLMmTPx/PPPcxqKiORz5YZYiuDuJiDBufrkhG4UCplaTP5GxhRspK0UA2u/x6XI8QHZSO/xHBxfxBwcIgLQbW7I64krcSJqOtLNBswcFfibE1IAOfIh8PeF3R62bdgLOGlyzn74QzaOkvs3J5OJKHi5kou3t23ChDEZFdc+i+sG5uDHAdqASQFO4eaxAAKukZ4FDhEFl1apxTDEIz/mOuwY+1GbZbTCoMmYmZqEDI7YkL+SOQXr2roBCLxG+sB4F0REcuRtcTZethqtMWlNUMcuRknyTITpNKi32lFUVIsCyzlupkn+y7V57MZ5uJLs5OT607/TlkISnOG4rkb6McmRAdNI75XdxImI+p2r36Zd46XRVoZFxStxdd2XUKsERIRoMdRsQGWdFTuOlUAUg65NkQJFJ1s3VGvNeC1hJQ6GT4VdFFHTaMOpAGyk5wgOEQU+BanFkqCGIAhMLqbA0GrrBte0bHnoGDiOlSA2wNONWeAQUeBTmFoMBF7DJQWx5q0bXNLztrhNNxYSXgbMs/vjDD2CU1REFPgUphYDgddwSQSg03RjwVIEaeM8lO/fhBPFFlysrPf76Vn+n0tEgU/hktlAbLgk6mqq1vWYesdTWJs6CHqtDkNMBuSM9t/8J47gEFHgcy2ZhfvmSQnOxsvzhqsCtuGSSM5UbbS9FNfp8gNi+wYWOEQU+FxLZgG0L3IkCAAEbDY/hrMVjaiqt2FMciSXiFPgkTlVG2GvCIjVhJyiIqLg4Foy2y4HRzAmQcxZhezEG5FltSOcycUUqBRO1fr7akIWOEQUPEbOhjjsJpTn5cJWXQhtZBLiRl4PlUaDlP4+NyJP60G6sT+vJmSBQ0SBrdXWDAX2CPyzMhX55XFotEcjRKPGkPJzft1ISSSbwnRjwL9XE/rfGRMRydVua4ZkAPeoTdg5aAkuxGej3mrH0cJqFFY3sOeGgkMnU7WXNSZ8NeQXOB07o+Uxf19NyAKHiAKTa2uGdkPxUY4y3HnmKWzVqZEfOwMGvQanSmux41gJ0uIM7L2hwNcu3bjAHoH1Z+NRUe9AYqMNoTo1GqwOFFU3+vVqQhY4RBR4FGzNAEHt142URD3SKt04GcD9yTXYcaQQUgBt38ACh4gCj8KtGfy5kZKoL6SXf9Fx+4bLSagwPIcTYo5fri5kgUNEgUfh1gz+3EhJ1Guu7Rvaj3jWFCJ22wPYnLgSJ6Km+12yMYP+iCjwKMj7cDVSppsNftlISdQr3UznAsDdFesRHaryu2RjFjhEFHhkbM1g0cXjhG4Ut2Wg4CZzOjfDeszvko1Z4BBR4Olyawan92MfxuUGkdsyUHBTMJ3bPtnY13HCmYgCU3Peh7S9beMkjMmouPZZXDcwBz/2w8ZJoj6lcPsGf2rIZ4FDRIGjVWoxDPHIj7kOO8Z+1GbpqzBoMmamJiGDIzZEirdv8KeGfN8/QyIiOdqlFgOASWuCOnYxSpJnIkynQb3VjqKiWhRYznFaighQtH2DvyUbsweHiPyfK7W4XbOk0VaGRcUrcXXdl1CrBESEaP2uUZLI41zbNxgT2zx8WWPCprQXcSL6etQ02vyuIZ8jOETk3xSkFkuCukOjJJOLieB2+wbnxrQNaCqvg16jxpjkSMwc5T85OCxwiMi/KUwtBvyrUZLIa9pt3/CQ3Y7yvFzYqguhjUxC3MjRUGn8p2zwnzMlInJHYWox4F+NkkT9Im8LVNufhLn1Lw+fJUHMeQkFiTeizmr3+e0b+H83Efk3hctc/a1RksjrXD1t7aZ9JUsRhE3z8Fny8/gmbApCNGqf3r6BTcZE5N9kpBZXa804b7jKLxslibyqy54252N3lK7FkNhQRIVpfXr7BhY4ROTfukwtFgAI2Gx+DGcrGlFVb2NyMVFXZPS0RdpKMbD2e59flcgpKiLyf52mFidBylmF7MQbkeUHPQNE/U5hT5svr0pkgUNEASE/brr71GJTEtJ96B9dIp+msKcN8N1ViSxwiMh/NW/NUFx4DrlnRBzFCCSYJjG1mKinFG7dAPjuqkTfOhsiIrlabc2QAOABADU6M3K1TyA/ZAYiQrQw6DU4VVqLHcdKkBZn4NQUUXcUbN0A+PaqRDYZE5H/6WRrBoO1FLeceBLpFZ8D6NgfQEQydLJ1Q7XWjNcSVuJg+FTYRdHnVyVyBIeI/IvCrRl8tT+AyKe127oBhniUh46BPa8cVWW1KLE0+vz2DSxwiMi/KNyawVf7A4h8XqutGwAgHUBanMFvtm/wzbMiIuqMgmWsvtwfQOR33GzfIH2WhPJrn0P5wByfi2FggUNE/kXmMtYyRPl0fwCRX+lk+wZYChG77QFsTlyJE1HTfWrrBjYZE5F/kbE1Q6XGhMOqkUwtJuoL3fS9AcDdFesRHaryqa0bWOAQkX+RsTVD/Yzf4vGZI/DQtCEsboh6S2bfW4b1mE9t3cACh4j8j2trhnbLWGFMgnDX3zBg8lykxIRxWoqoLyjoe/OlaAb24BCRf2hOLXYtWc2Puc791gxxSUjv73MlCiQKt2/wlWgGFjhE5PtapRa7mLQmqGMXoyR5JrdmIPIkhds3+Eo0A6eoiMi3dZJabLSVYVHxSlxd9yXUKgERIVqfmv8nChhd9r05ubZvcEUzpJsN/R7NwAKHiHyXjNUb0868AkFyOB/zofl/ooDSyfYNlzUmbEp7ESeir/e5rRs4RUVEvkthajHgO/P/RAGn3fYNBfYIbKlIgXhhH2LPbkGDzgRT6mTcODrJJ6aIWeAQke9SsHrDxVfm/4kCUqvtG5LztuChw3MgtE42rkqCkPAyYJ7dX2fYglNUfUgUJVysrMeJYgsuVtazB4CotxSu3vCl+X+igNbcGye0G2EVLEWQNs5D+f5N/X4v9EqBs27dOqSmpiIkJASZmZnYv39/l8dv2rQJGRkZCAkJwZgxY7Bt27Y2X5ckCc888wwSExMRGhqK7OxsnDp1ypNvoVv5pTVYn3saf9z5A17ddQp/3PkD1uee9ok0RyK/JSO1uFprxnnDVT43/08UsLrojXM+JkG94yms/exEv94LPV7gfPDBB1i6dClWrFiB7777DmPHjkVOTg5KS0vdHr97927cc889WLhwIQ4ePIjbb78dt99+O44ePdpyzO9+9zu8+uqr2LBhA/bt24fw8HDk5OSgsbHR02/HrfzSGrz59TkcLaxGVJgWaXEGRIVpfSqymsgvyUgt3mx+DGcrGlFVb+PWDETeIKM3Ltpeiut0+f16LxQkSfLo2FFmZiYmTpyIP/3pTwAAURSRkpKCxx57DMuWLetw/Ny5c1FXV4etW7e2PHbNNddg3Lhx2LBhAyRJQlJSEp544gn84he/AABUV1cjPj4eb731Fu6+++5uz8lisSAyMhLV1dUwGo29en+iKGF97mkcLazGULMBgnDlH2FJknCqtBZjkiPx0LQh/I2SqKfytkDa/mTbuX5jMqScVShIvBF1VrvP7WRMFLCOfAj8fWG3h20b9gJOmnL69F6o5P7t0S48q9WKAwcOYPny5S2PqVQqZGdnY8+ePW6fs2fPHixdurTNYzk5Ofjoo48AAGfPnkVxcTGys7Nbvh4ZGYnMzEzs2bPHbYHT1NSEpqamls8tFktv3lYbBVUNOF1Wi8TIkDbFDdBxyWpKTFiffV+iYJIfN919arEpCen8/4rIuxT2xvXXvdCjBU55eTkcDgfi49tejPj4eJw4ccLtc4qLi90eX1xc3PJ112OdHdPeqlWr8Oyzz/boPXSnzmpHo92BMJ37hkYuWSXqoeatGYoLzyH3jIijGIEE0ySmFhP1N4XJxkD/3AuDYhXV8uXLUV1d3fJx8eLFPnvtcJ0GIRo16jv5S+OSVaIeyNsCrBkNvH0LEnY+igdO/wwvX7yXqcVEvkBBsrFLf9wLPVrgxMXFQa1Wo6SkbZZFSUkJEhIS3D4nISGhy+Nd/1Xymnq9Hkajsc1HX0mOCsUQkwFF1Y1o387EJatEPdDJ1gwGayluOfEk0is+B8DUYqJ+1UWy8cfDX0Z+7IyWx/rrXujRAken02H8+PHYtWtXy2OiKGLXrl3Iyspy+5ysrKw2xwPAzp07W44fPHgwEhIS2hxjsViwb9++Tl/Tk1QqATmj4xETrsOp0lrUNNpgF0UuWSXqCYVbM4Tq1GiyOzgFTNQfRs4GHj8KzN8KzPkrCm7biFdGfoh/OSb6xL3Q42NFS5cuxfz58zFhwgRMmjQJa9asQV1dHRYsWAAAmDdvHpKTk7Fq1SoAwM9//nNMmzYNf/jDH3DzzTfj/fffx7fffovXXnsNgPO3tscffxwvvPAChg4disGDB+M3v/kNkpKScPvtt3v67biVbo7Agimp2HGksE0TpC9FVhP5BYVbM3AKmKiftU42BnB/co3P3As9/q/C3LlzUVZWhmeeeQbFxcUYN24ctm/f3tIkfOHCBahUVwaSJk+ejHfffRdPP/00nnrqKQwdOhQfffQRRo8e3XLMr371K9TV1WHRokWoqqrCtddei+3btyMkJMTTb6dT6eVfYMj37ZaxXk5CheE5nBBzuISVSA4FWzO4hr3HJEdyCpjIR7i9F/bT9g0ez8HxRX2ZgwPgSs9Au2F112evJ67EiajpGGIyIGd0PEd0iDpz9kvg7Vu6PeztYX/CXnEkYsJ1XEVF5Cs6uRe2TDDf9TfntFYvKLl/B8UqKo+S0TNwd8V6RIeqmGxM1B0ZWzNUakw4rBrJ1GIiX9Lt9g0Ati9zHuclLHB6S2bPQIb1GJe1EnVHxtYM9TN+i8dnjsBD04awuCHyFd3cCwEJsBQ4j/MSFji9paBngMtaiWRoXn4qtVt+CmMShLv+hgGT5yIlJoz9bES+ROa9UPZxfYBLD3pLYWQ1k42J3GhOLUZtCWCIR37Mde63ZohLQnp/nysRdSTzXij7uD7AAqe3FEZWc1krUTt5W5xz962Gt01aE9Sxi1GSPJNbMxD5g27uhYDg/PqgyV47JU5R9ZaCyGomGxO100lqsdFWhkXFK7k1A5G/6OJe2PL5rJecx3nrlLz2nQJZF5HVm9JexIno65lsTNSewtRi9rAR+bhO7oUwJvXJEnGlOE/SV0bOBjJubukjKLBHYEtFCsQL+xB7dguTjYnaU5haDLCHjcjntbsXwhDvnJby4siNCwucvtQ6sjpvCx46PKdDmqMU/xIuam5EndXOdGMKbgpWILqwh43ID7S6F/Yn/ivhCc19BUL7oXdLEYRN8/BZ8vP4JmwKQjRqphtT8FK4ApFbMxCREuzB6Wtd9hU4H7ujdC2GxIYiKkzLdGMKXjJSi6u1Zpw3XMUeNiJSjAVOX5PRVxBpK8XA2u+5MoSCm4zU4s3mx3C2ohFV9TZuzUBEinCKqq8p7CtovzIkJSbMk2dH5FtcqcXb2+4+DGMSpJxVyE68EVnsVyOiHmCB09cU9hUAXBlCwS0/brr71GJTEtJZ8BNRD7HA6WsKk40BrgyhINS8NUNx4TnknhFxFCOQYJrE1GIi6jO8o/Y1V1/Bxnlw9hVcKXLaJxsDXBlCQajV1gwJAB4AUKMzI1f7BPJDZiAiRAuDXoNTpbXYcawEaXEGTk0RkWJsMvaETtIcq7VmvJawEgfDp8IuilwZQsGnk60ZDNZS3HLiSaRXfA6AqcVE1HscwfEUN2mO5aFj4DhWgthWvQZMN6ag0c3WDBKcWzOcjpkGSVCzN42IeoUFjie1S3NMz9uCId+3XS0iXU5CheE5nBBzuFKEApvCrRnYm0ZEvcF/Obyls3TjmkLEbnsAmxNX4kTUdCYbU+BSEKHA3jQi6i324HiDjF2T765Yj+hQFZONKXDJjFAoQxR704io11jgeIPMofkM6zEmG1PgkrE1Q6XGhMOqkUwtJqJe4xSVNygYmmeyMQWsVhEKEoQ207VSc9FTP+O3eDxjBHvRiKjXOILjDQrTjUN1ajTZHVw9QoFn5GwU5fx/qNWZ2jxcqzejOOf/w4DJc5ESE8bihoh6jSM43qAw3ZirRyigNKcWo7YEBfYIrC8ajsqUd5CpPolY6TIqhGjscwxHdHEoFpTWcFqKiPoE76DeoCDdmKtHKKC0Si0GgGQAT6hN+DL9FzgdNwOVzYelSxKTi4moT3GKyls6STe+rDFhU9qLOBF9PZONKbB0kloc5SjDrSevpBYDTC4mor7HERxvapduXGCPwJaKFIgX9iH27JaWZOMbRiVCr1HjRLGF4X/knxSmFgNgcjER9SkWON7WKt04OW8LHjo8p02ysa0iEZ+VL8VOaRIa7Q6EaNQM/yP/ozC1GGDvGRH1LU5R9RdXsnG7m4Cmrgiz8n6Ja5q+RlqcAVFhWob/kf9REI0AoKX3LN1sYO8ZEfUJFjj9QUay8axL/wuNICIiRMvwP/I/MqMRLJoY9p4RkUewwOkPCobvATZgkh+SkVp8WWPGV9ahqKq3MbmYiPocJ7v7g8Lhe4ANmORnZKQWO2a+iEcHZrCRnog8giM4/UFhsjHABkzyQ92kFsdNuhMZCUYmFxORR/Bu2R8UJhsz/I/8SnNycXHhOXxyRsTBAX/DJE0+U4uJyKtY4PQHGcnG2wf8HDZJQEOTDUXVjWzAJP/QKrk4AcADAGp0ZuSmPYFTsbMAMLWYiLyDU1T9pZNkY7shCdtHvIwyexhiz25BbNl+XJVkYAMm+b5OkosN1lLccuJKcjGb5onIGziC05/aJRvDEA9tfQVmfbq8TT6OdDkJFYbncELMYUMm+SaFycVsmiciT2OB099aJRsjbwuw6f42K04AADWFiN32ADYnrsSJqOlMNibfozC5mE3zRORpnKLyFTLC/+6uWI/oUBWTjcn3KIg+YGoxEXkDCxxfIfM34AzrMSYbk++RGX1QhiimFhORV7DA8RUKfgNmkyb5HBnJxZUaEw6rRjK1mIi8ghPgvkJh+B+bNMmnyEgurp/xWzyeMYJN8kTkFRzB8RUyfgO2tAr/Y5Mm+ZxukosHTJ7L1GIi8hreHX2FjPC/f6cthSSomWxMvqM5tRi1JSiwR2B90XBUpryDTPVJJhcTUb9igeNLXOF/zUmwLpfVcfjefDvgaEJM2T7scwxHjCGUTZrUv1qlFgNAMoAn1CZ8mf4LnI6bgcrmw5hcTET9QZAkKeiW4VgsFkRGRqK6uhpGo7G/T6ejVr8VV1zIg/77/4PBWtry5VqdGZbpL8Ax/FbUWe0M/yPvc6UWt4s1cH22NeNl5MfOaHm8ptGGqnobltw4DCkxYd47TyIKKEru3xzB8UWu8L+8LYj95hVI7W4i4dYyhH+6CG8dfR7fhE1BiEbN8D/yHoWpxQCb4onI+9hk7Kta3UTaj8u4VqjcUboWQ2JDERWmZfgfeY+C1GIXNsUTkbd5tMCprKzEvffeC6PRiKioKCxcuBC1tbVdPqexsRGLFy9GbGwsDAYD5syZg5KSthkxgiB0+Hj//fc9+Va8T8ZNJNJWioG13yMiRMvwP/IeBZlNAJhcTET9wqMFzr333otjx45h586d2Lp1K/7zn/9g0aJFXT5nyZIl+Pjjj7Fp0yb8+9//RmFhIe64444Ox7355psoKipq+bj99ts99C76icKbCMP/yGtkZjZZNDGoabQxuZiI+oXHxouPHz+O7du345tvvsGECRMAAGvXrsVNN92E1atXIykpqcNzqqur8de//hXvvvsuZsxwNii++eabGDFiBPbu3Ytrrrmm5dioqCgkJCR46vT7n8LgP4B9DuQlrswmSxHc9eFIAKo0ZnxlHQqdZMOY5EjMHMX+MCLyLo+N4OzZswdRUVEtxQ0AZGdnQ6VSYd++fW6fc+DAAdhsNmRnZ7c8lpGRgYEDB2LPnj1tjl28eDHi4uIwadIkvPHGG+hqMVhTUxMsFkubD5+nMPgPYJ8DeUlzZpOEjuWN83MBjpkv4tHsDCy5cRgemjaExQ0ReZ3HCpzi4mKYzeY2j2k0GsTExKC4uLjT5+h0OkRFRbV5PD4+vs1znnvuOWzcuBE7d+7EnDlz8Mgjj2Dt2rWdnsuqVasQGRnZ8pGSktLzN+YtruA/AO2LnPbBfwD7HMhLRAdw9ksUX67Grvifokod1+bLlzUmvDvoBVSlzkJGgpHJxUTUbxT/qr9s2TK8/PLLXR5z/PjxHp+QHL/5zW9a/nz11Vejrq4Ov//97/Gzn/3M7fHLly/H0qVLWz63WCz+UeR0EvxXrTVjY8xD0IvhSC/9FyqFGIb/kee1CvZLAJAAoEZrwu6kRagKHYg6XRwuRYzFD2UNqGaoHxH1M8UFzhNPPIH777+/y2PS0tKQkJCA0tLSNo/b7XZUVlZ22juTkJAAq9WKqqqqNqM4JSUlXfbbZGZm4vnnn0dTUxP0en2Hr+v1ereP+4WRs4GMm1uC/2CIR0PRJdyT+wwiSq5c3zt0ZlzKXAG7OAgXK+sZ/Ed9q5NgP4OtDFkXX8PWjJdxKXI8ALRpdmeoHxH1F8UFjslkgslk6va4rKwsVFVV4cCBAxg/3vkP3+effw5RFJGZmen2OePHj4dWq8WuXbswZ84cAMDJkydx4cIFZGVldfq9Dh06hOjoaP8tYrrjCv4DgLwtSNzxcIfwP4O1FBlfLsbr+WU4ETWdwX/UdxQG+7HZnYh8gcd6cEaMGIFZs2bhwQcfxP79+/H111/j0Ucfxd13392ygqqgoAAZGRnYv38/ACAyMhILFy7E0qVL8cUXX+DAgQNYsGABsrKyWlZQffzxx/jLX/6Co0ePIj8/H+vXr8eLL76Ixx57zFNvxXd0Gf7ndHfFekSHqhj8R31HYbAfm92JyBd49F+gd955B48++ihuuOEGqFQqzJkzB6+++mrL1202G06ePIn6+vqWx/74xz+2HNvU1IScnBz8+c9/bvm6VqvFunXrsGTJEkiShPT0dLzyyit48MEHPflWfIPMG02G9RjCzT/iBofUNxRkMnGneyLyFR4tcGJiYvDuu+92+vXU1NQOy7tDQkKwbt06rFu3zu1zZs2ahVmzZvXpefoNBTea9sF/7IWgHpOZyVSGKIb6EZHP4F5U/kRh+F+oTo0mu4O9ENQ7MjKZKjUmHFaNxJjkSCyYksreLyLqd5wk9ycyEmRrWoX/sReC+oQr2G/jPABtyxxXsF/9jN/i8YwRXL1HRD6DIzj+REb436m4Gc5mT9HO4D/qM/lx050Bfuq2KyhdwX6N6Tcx1I+IfAp/tfc3nYT/iVBBDRHjC9/D+ML3cFltwrYBjyNz1HzedKhnRAdwfjfEmmIcyXfga80klE7aggE13yPcWs5gPyLyaYLU1SZOAcpisSAyMhLV1dUwGo39fTo903zzwcltkPY6V5m5mzqouOl1lA/MQbhOw+kDkq9VarFLtdaM/wx5AvmxM9ocWtNoQ1W9DUtuHMZmdiLyKCX3b05R+SuV2tmTk/cRBHRs/3R+LkG94yms/ewE/rjzB6zPPc1cHOqeK7W4XSSB0VaKW048ifSKz9s8zmZ2IvJFLHD8mYxcnGh7Ka7T5SMqTMvwP+peN6nFgDO1WJAcLY+zmZ2IfBELHH8mMxcnwl6BiBAthpoNqKyzYsexEohi0M1MkhwKU4u5iz0R+SoWOP5MYS5O+/A/og5kFs0hTaWoabQx2I+IfBYLHH8mI4DN0ioXB2C/BHVDZtF8ut6Aqnobg/2IyGdx0tyfuXJxNs7DlX2dnVx/Ohp/G4aVf4Y6XRwKjOPQYBXZL0Gday6aJUsRBLdhkgIchkTMuvkOhIfouTKPiHwW73L+rpNcnFqVERqVgMkXX2t5rEZnxrsxjyBu+K3sl6C2XLEDtSWoGH4PYr75AyS4ix6QUDZlJTKSovvlNImI5GKBEwhGzgYybr5yg7qQh5hv/gCIbQ8zWEuxqHgliscmQaVK759zJd/TLvMmFs4CWa0SEGqvbjmsRheP92IehqNxPB4SJY7cEJFPY4ETKFRqYPBUQHQgdudvOvz2DbgmsQTEfbUSF4fehOQYJs8GPVfmTbvpqHDRAojA7pRFqAod2DLFaWkSUcUd6onID7DJONA0L/PtrGwRIEFbV4gtWz5k8F+wk5F5M7rkn/ghLhuXIsdDEtRsUiciv8ECJ9DIXOaboK5i8F+wU5h5AzDUj4j8BwucQCNzma8YnsDgv2AnsxgOt5YDYKgfEfkXFjiBRkE2DoP/gpzMYtiiiWGoHxH5HRY4gcaVjQOgfZHjGqM5FTcDyZZDECQHeyqCmYxi+LLGjK+sQxnqR0R+R5AkKejmJpRst+632i39BQARKqharR2v0ZnxrwGPY69+CpbcOIyrYoJR3hZIzauoOmbeCKi46XWUD8xBuE7DUD8i6ndK7t8cwQlUI2cDjx+FOO9jHEr+SfOy8bbBOAZrKe488xRmCvvZUxFsRAdw9ksUX67Grvifokod1+bLlzUmvDvoBVSlzkJGghEpMWEsbojIr3ApRCBTqaFKnYJRVYsAdJaLA1x/7hX8UHwno/eDRavRvQQACQBqtCbsTrqSeXMpYix+KGtA9bESpMUxL4mI/A9HcALd+d3Q1hV1kYsDhNQX4V+fbMYfd/7AbJxA5wr2a7c83GArQ9bF1+BQaXEpcjyg0rABnYj8GgucQCdzKfDQsDpEhWmZjRPIZAT7TTvzCgTJAYA7zxORf2OBE+hkLgVu0JsQEaJlNk4gUxjsx1A/IvJnLHACnYylwHWaaBiaSjGg+gBUEDk1EagUBPsx1I+I/B1/NQt0rlycjfNwpa3YyfWncPtl/PjUMwCcS8d3pS7FTmkSpyYCjczRvDJEMdSPiPweR3CCwcjZwF1/A4yJ3R5qsJbith+WYUL915yaCDTNo3lSJ6N5IoBKjQmHVSMZ6kdEfo9Bf4Ea9OeO6ADO74ZoKUTj1icRarvs9lYnAqjRmlG96AAGxEbwN3h/1/z3jtoSVFzIQ8w3fwAAN8F+wPdZaxE78b8ZF0BEPknJ/Zu/ogcTlRoYPBWqs18izHa588MARNpK8f8+/juQOhU5o+P5m7y/apdoHQugVmWEWiUg1F7dcliNLh7vxTwMh24yHmJxQ0QBgAVOMJLZbJqgrsJnhdUorG7gdIU/cmXetFsWHi5aABHYnXIl2K/AOA6WJhFVzc3l3LaDiPwde3CCkcxmUzE8gcvG/ZWMzJvRJf/ED3HZuBQ5HpKgZu4NEQUUFjjBSMbScYsuHgXGcRAEgcvG/ZHCzBuAuTdEFFhY4AQj19JxAO2LHNfv+6fiZiDZcgiC5OBv9v5IQeYNAObeEFHAYYETrDpZOi5BBQHA+ML3cOfRh7Dw29kYVLKLv9n7G5nTkBZNDGoabcy9IaKAwwInmI2cDTx+FOK8j3Eo+SeQAAgQ2xxisJbizjNPYaawn7/Z+5NBk2ELT3TTgeMkAqhQm/CVdSiq6m3MvSGigMNfyYOdSg1V6hSMqloEoGNXjiv7+Ppzr+CH4jsRHqJnRoqvEx0Qz32NY1HTMbbu3ebC9QrX57mDl+KRGcMREaLl3ykRBRwWOASc3w1tXVGnXxYAhNQX4V+fbMZF43gMMRmYjeOrmnNvVJZCjGt+SISqzchcjS4e2wf8HHu1kzEpRMsl4UQUkFjgkOyG1KFhdagJ0+Ios3F8Uye5NwJESAC+S7oHZ2KmocA4DjZJQFN5HRvHiShgsQeHZDekxjWcw4imwxhmCmU2jq+RkXsztPxzFBjHQRLUXBJORAGPBQ7JysUBgGsu/RV3Hn0IDxy4DdPFvczG8SUKcm+4JJyIggELHJKVi9Oaa2VVRtUXnOLwFTKnGVV1xVwSTkRBgQUOOXWSiwO4X1kFAHeW/RnhGt4gfYLMacZiRxSXhBNRUOAEPF0xcjaQcTNwfjfEM7lQfbm6k0krZ5ETbS+FtWAvxJhsjgT0F9Hh/PuyFKJRG41Q22W3f2cigBqtGbfeOgcDYiP490VEAY8FDrWlUgODp0Ilc8pjx77vYakYzGXj/aF5STgshVABCINzSrGz3JvN5seQrdawuCGioMApKnJP7o7jhngcLazGm1+fQ35pjYdPilq4loR30VjsUqOLxz+HvYRvw6awZ4qIggZHcMg918oqSxHctRpLABrURoRrBQwzhuKHsgbsOFaCtDgDRwg8rZsl4RKAOk00/jN4CWr1ZhQYx8HSJEJfb+OycCIKGhzBIfe6WVklAAhzWPDfxxZz2bi3yVgSHm6/jFq9GZcix0OEisvCiSjosMChznWxsqo1Lhv3Mpn9USFNpdwpnIiClscKnMrKStx7770wGo2IiorCwoULUVtb2+VzXnvtNVx//fUwGo0QBAFVVVV98rrUC807jpf+10bUqSI6NLCi1ef/XboOxZfrcLGyngnHniI6ZBc4p+sN3CmciIKWxybk7733XhQVFWHnzp2w2WxYsGABFi1ahHfffbfT59TX12PWrFmYNWsWli9f3mevS72kUiMuIhQqsfMmYgFAjKMM3325DVsiuSGnR7RaNdUVCYBFF4+ZP/4vRISFcKdwIgpKHilwjh8/ju3bt+Obb77BhAkTAABr167FTTfdhNWrVyMpKcnt8x5//HEAQG5ubp++LvWeqq5U1nHDwutQyw05+14nG2m6WxIOAJtNjyI7LIQ7hRNR0PLIFNWePXsQFRXVUoQAQHZ2NlQqFfbt2+dzr0sycEPO/iNjI00XLgknInLyyAhOcXExzGZz22+k0SAmJgbFxcVef92mpiY0NTW1fG6xWHp8DkFLxrJxAc4NOa+59FfU6Mz414DHsbd0CgqqGjiS0BvdrJpyyU1dgkNJc7kknIgICkdwli1bBkEQuvw4ceKEp861x1atWoXIyMiWj5SUlP4+Jf/DDTn7j8ym4npdLJeEExE1U/Qr3hNPPIH777+/y2PS0tKQkJCA0tK2PRt2ux2VlZVISEhQfJIuPX3d5cuXY+nSpS2fWywWFjk94Vo27qbR1d3KKgnAnNJ1OF13L0SR+x8p1rzPFMrk/dJQhiguCSciaqaowDGZTDCZTN0el5WVhaqqKhw4cADjx48HAHz++ecQRRGZmZk9O9NevK5er4der+/x96VWFG7IGesow3u5W/HN+eu4qkoJNyum3C3RB5wbaZYLcfheGIExyZGYOYrXmYjII03GI0aMwKxZs/Dggw9i//79+Prrr/Hoo4/i7rvvblnpVFBQgIyMDOzfv7/lecXFxTh06BDy8/MBAEeOHMGhQ4dQWVkp+3XJC1wbcppHyDp8jO0QjhVUcr8qubrYZ6r9dKCr6NkUtxh3XzMYD00bwuKGiAgeDPp75513kJGRgRtuuAE33XQTrr32Wrz22mstX7fZbDh58iTq6+tbHtuwYQOuvvpqPPjggwCA6667DldffTW2bNki+3XJi2SurJpW/DZevngvBpZ8xlVV3VGwYgq4smoqL2oajKFaTksRETUTJEkKuruNxWJBZGQkqqurYTQa+/t0/JfoANaM7nRlVWuur76V/Dyy5zzAVVWdOfsl8PYt3R62d8BCXIya2LKRZlW9DUtuHMbrSkQBTcn9m3tRUc91sbKqPddXbyt5FXWNTV0eG9RkrpiqDBvMjTSJiLrAAod6R+aGnEDzdg72MjTmf8X9qtxRsM+URRPDjTSJiLrAJDDqveaVVeIXL0L15epuD7/87Yf4Or8cwqDJmDkmiU2xgOx9pkQAFUIcvmwaCr1k46opIqJOsMChvqFSQ5V2PSCjwJlu+QjTLR/hcoEJ2y48Dtw8P7hv0Ar2mRIA/N38KO6clIohJgM30iQi6gSnqKjvNG/nIHXSj9N+QirKUYafnP818nPfC97pqh7sM3XEeB0SIp0babK4ISJyjwUO9Z3mpmNninHH7RzcpR0DwMSTv8O3Z8uCs8hRsM/UGxP+icMR10GvUXOfKSKibrDAob7V3HQstGs67i7tOHfHP7E+93TwBAGKDueS8ONbuj8W3GeKiEgp/hpIfa/Vdg41B/+OiMNvdvuUHzkOY3PBWBRWN2DBlNTA7smR2VDcWqkUyRVTREQKcASHPKN5O4fwcXfIOjy7/G/BkXbc3FAstStuOnu3IoASxGKvYzjGJEcGfvFHRNRHWOCQR6lSp8AWnthNzrGTwVqKRcUrEZq/DQVVDR4/N69rbiiW3LRhu3Zfb83Vt/R+7CO4O5P7TBERKcEChzxLpYb25t8BELotclw3/TuKVqNi7/+h9PBnEO12D5+gl4gOYN8GwFLYZT9SazW6eGxKexHnzdkYYjJwWoqISAHuRcW9qLwjbwuk7U9CUNB3AgA1OjNqp7+AxKy5HjoxL1DYc3Mw4U7kx92ASxFj8UNZA8YkR+KhaUNY4BBR0ONeVOR7Rs6G8PhRiFN/oehpBmspEj5dhKI9H3joxDysk56brhwMvw7H9Vfhh7IGNhUTEfUQCxzyHlfasQKu3pSwz5/GhTKLfzUfd9Fz4/ZwOBuKc5vSUVVvY1MxEVEvcJk4eZcr7dhSJKMrx0kFINJWiu3vv4iKkQt8f/8q0eEM8Dv77y57blpzNRT/I/4x/HRqOrdhICLqJRY45F2utOON8yBBkF3kAMDcivW4vPtD396/qgcZN4Czofi9mIchDr8V1w01sbAhIuolTlGR93WSdiyHa/+q73f8H/IKq3Gxst53pq160G8DAP+MfxTLUv4fLsRns9+GiKiPcASH+kertGPRUojGrU8i1Ha52+kcAc5elen5q7DxchUc4YkQBk3u32kr17YLH/9Mdr8N4HwfpYjFxyG34EcDYjBzVLxvjkoREfkhFjjUf5rTjlUAquuB0E8Xud2Us8PTAMTAgocqXgYqgMsFpv6btmq3/F1uceN6n383PYpF1w/DhEExHLkhIupDLHDIJyRmzUURAMMXTyPCWqroua5pq72bDiPi2jthGjUdKo2HfrRdDcS1JUDFaUi5q9D5Rgudc/XcCMNvZXFDROQBDPpj0J9PEe12VOWuRcxXK3v8GjU6M2qvfw6JiQOchYgh3rl6S6XuwQm1K2gOvAWh5kqPjZwRp9ZyzfNxPmoi9jmGI9oQymXgREQKKLl/s8BhgeN7RAdsfxgFTV2RouLBxfUD3fq5UkQihPELgNghnRc8rYsZQzxQXwF8urzNiiilBU3LSwMoQyx+OeD/IS4iDOlmA3tuiIgUUnL/5hQV+Z7m/aukjfMUNe26uNu4EjVFQO6LLZ9KxiRIM19EuRgBW3UhDLUXYMx7p8PojOv14ObPcjHjhojI+1jgkG8aORvCXX+D1INMGaBjIdKhlLAUQvjwfphbPeRuKLMvShBm3BAReR8LHPJdI2dDaF5Kjpoi2Lctg7qxok+KDnejPN0WRQqIAGoQgfcGPYfDmtHOfhtm3BAReQ0LHPJtzUvJAUCjCenxtJU7nio1xObX/t+wxbgcejVGx0ew34aIyMtY4JD/6OW0lae0bzyuUpvwj4THcM3kuRiRaGS/DRFRP2CBQ/6l1bTV5YMfIerwXwC0WzEFz43OtOea5vq/kJ/AFjkYDXoTVKmTceNoH98QlIgowLHAIf/TPG0VPXgqihInuQ0H7Ksip/3rtP/8ssaEfyX/HIOvvRtxEXqE6zQcsSEi8gEscMivJWbNhThxDkrzcmGrLkSFEI0jP5zFTQWvItpR1nJcd4WKO6KbYyqEOGwWslGhT0ZE3ACoB0/haA0RkQ9igUN+T6XRwHxVNgAgGUDYsBq8dyQH0vndEGpLEFJzFrfad8IkVbR5XndFTxnisFZ7PxITkzFQX4NKIQZ77cOg0+lw85hE9tcQEfkwJhkzyTggiaKEgqoG1FntKKtpwuELFcD5PQi1lqFBZ4JZXYuZl15FpO3K1FaFKg5fGm9GZcgANOhMuBw3HqKgRlW9DU12B/QaNROIiYj6Ebdq6AYLnODTuuBx9clAdKC8eWpLG5mEmIxpKKq1tT0G6PA8jtgQEfUPbtVA1I5KJSAlJqzdg1emtlxSYrQdntvheURE5PNU/X0CRERERH2NBQ4REREFHBY4REREFHBY4BAREVHAYYFDREREAYcFDhEREQUcFjhEREQUcFjgEBERUcBhgUNEREQBJyiTjF27U1gsln4+EyIiIpLLdd+Ws8tUUBY4NTU1AICUlJR+PhMiIiJSqqamBpGRkV0eE5SbbYqiiMLCQkREREAQ+nbjRIvFgpSUFFy8eJEbeXoQr7N38Dp7B6+zd/A6e4+nrrUkSaipqUFSUhJUqq67bIJyBEelUmHAgAEe/R5Go5H/A3kBr7N38Dp7B6+zd/A6e48nrnV3IzcubDImIiKigMMCh4iIiAIOC5w+ptfrsWLFCuj1+v4+lYDG6+wdvM7ewevsHbzO3uML1zoom4yJiIgosHEEh4iIiAIOCxwiIiIKOCxwiIiIKOCwwCEiIqKAwwKnB9atW4fU1FSEhIQgMzMT+/fv7/L4TZs2ISMjAyEhIRgzZgy2bdvmpTP1b0qu8+uvv46pU6ciOjoa0dHRyM7O7vbvhZyU/jy7vP/++xAEAbfffrtnTzBAKL3OVVVVWLx4MRITE6HX6zFs2DD+2yGD0uu8Zs0aDB8+HKGhoUhJScGSJUvQ2NjopbP1T//5z39w6623IikpCYIg4KOPPur2Obm5ufjRj34EvV6P9PR0vPXWWx4/T0ikyPvvvy/pdDrpjTfekI4dOyY9+OCDUlRUlFRSUuL2+K+//lpSq9XS7373OykvL096+umnJa1WKx05csTLZ+5flF7nn/zkJ9K6deukgwcPSsePH5fuv/9+KTIyUrp06ZKXz9y/KL3OLmfPnpWSk5OlqVOnSrfddpt3TtaPKb3OTU1N0oQJE6SbbrpJ+uqrr6SzZ89Kubm50qFDh7x85v5F6XV+5513JL1eL73zzjvS2bNnpU8//VRKTEyUlixZ4uUz9y/btm2Tfv3rX0ubN2+WAEj/+Mc/ujz+zJkzUlhYmLR06VIpLy9PWrt2raRWq6Xt27d79DxZ4Cg0adIkafHixS2fOxwOKSkpSVq1apXb4++66y7p5ptvbvNYZmam9D//8z8ePU9/p/Q6t2e326WIiAjp7bff9tQpBoSeXGe73S5NnjxZ+stf/iLNnz+fBY4MSq/z+vXrpbS0NMlqtXrrFAOC0uu8ePFiacaMGW0eW7p0qTRlyhSPnmcgkVPg/OpXv5JGjRrV5rG5c+dKOTk5HjwzSeIUlQJWqxUHDhxAdnZ2y2MqlQrZ2dnYs2eP2+fs2bOnzfEAkJOT0+nx1LPr3F59fT1sNhtiYmI8dZp+r6fX+bnnnoPZbMbChQu9cZp+ryfXecuWLcjKysLixYsRHx+P0aNH48UXX4TD4fDWafudnlznyZMn48CBAy3TWGfOnMG2bdtw0003eeWcg0V/3QeDcrPNniovL4fD4UB8fHybx+Pj43HixAm3zykuLnZ7fHFxscfO09/15Dq39+STTyIpKanD/1R0RU+u81dffYW//vWvOHTokBfOMDD05DqfOXMGn3/+Oe69915s27YN+fn5eOSRR2Cz2bBixQpvnLbf6cl1/slPfoLy8nJce+21kCQJdrsdDz30EJ566ilvnHLQ6Ow+aLFY0NDQgNDQUI98X47gUMB56aWX8P777+Mf//gHQkJC+vt0AkZNTQ3uu+8+vP7664iLi+vv0wlooijCbDbjtddew/jx4zF37lz8+te/xoYNG/r71AJKbm4uXnzxRfz5z3/Gd999h82bN+OTTz7B888/39+nRn2AIzgKxMXFQa1Wo6SkpM3jJSUlSEhIcPuchIQERcdTz66zy+rVq/HSSy/hs88+w1VXXeXJ0/R7Sq/z6dOnce7cOdx6660tj4miCADQaDQ4efIkhgwZ4tmT9kM9+XlOTEyEVquFWq1ueWzEiBEoLi6G1WqFTqfz6Dn7o55c59/85je477778MADDwAAxowZg7q6OixatAi//vWvoVJxDKAvdHYfNBqNHhu9ATiCo4hOp8P48eOxa9eulsdEUcSuXbuQlZXl9jlZWVltjgeAnTt3dno89ew6A8Dvfvc7PP/889i+fTsmTJjgjVP1a0qvc0ZGBo4cOYJDhw61fMyePRvTp0/HoUOHkJKS4s3T9xs9+XmeMmUK8vPzWwpIAPjhhx+QmJjI4qYTPbnO9fX1HYoYV1EpcZvGPtNv90GPtjAHoPfff1/S6/XSW2+9JeXl5UmLFi2SoqKipOLiYkmSJOm+++6Tli1b1nL8119/LWk0Gmn16tXS8ePHpRUrVnCZuAxKr/NLL70k6XQ66cMPP5SKiopaPmpqavrrLfgFpde5Pa6ikkfpdb5w4YIUEREhPfroo9LJkyelrVu3SmazWXrhhRf66y34BaXXecWKFVJERIT03nvvSWfOnJF27NghDRkyRLrrrrv66y34hZqaGungwYPSwYMHJQDSK6+8Ih08eFA6f/68JEmStGzZMum+++5rOd61TPyXv/yldPz4cWndunVcJu6r1q5dKw0cOFDS6XTSpEmTpL1797Z8bdq0adL8+fPbHL9x40Zp2LBhkk6nk0aNGiV98sknXj5j/6TkOg8aNEgC0OFjxYoV3j9xP6P057k1FjjyKb3Ou3fvljIzMyW9Xi+lpaVJv/3tbyW73e7ls/Y/Sq6zzWaTVq5cKQ0ZMkQKCQmRUlJSpEceeUS6fPmy90/cj3zxxRdu/711Xdv58+dL06ZN6/CccePGSTqdTkpLS5PefPNNj5+nIEkchyMiIqLAwh4cIiIiCjgscIiIiCjgsMAhIiKigMMCh4iIiAIOCxwiIiIKOCxwiIiIKOCwwCEiIqKAwwKHiIiIAg4LHCIiIgo4LHCIiIgo4LDAISIiooDDAoeIiIgCzv8PdfPt8XopixwAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Test 1\n",
    "u0 = torch.from_numpy(np.sin(beta1 * X[0])).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx]) + b)\n",
    "\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), u[-1], alpha=0.5)\n",
    "# plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta1_vec, u0), 1)).detach())\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta1_vec, vec), 1)).detach())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Test 2\n",
    "u0 = torch.from_numpy(np.sin(beta2 * X[0])).float().unsqueeze(0).unsqueeze(0)\n",
    "\n",
    "u = np.zeros((nt + 1, nx + 1))\n",
    "u[0] = u0\n",
    "u[:, 0] = ux0\n",
    "u[:, -1] = uxn\n",
    "\n",
    "b = np.zeros(nx - 1)\n",
    "for j in range(1, nt + 1):\n",
    "    b[0] = r * u[j - 1, 0] + r * u[j, 0]\n",
    "    b[-1] = r * u[j - 1, -1] + r * u[j, -1]\n",
    "    u[j, 1:nx] = Ainv @ ((B @ u[j - 1, 1:nx]) + b)\n",
    "\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), u[-1], alpha=0.5)\n",
    "# plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta2_vec, u0), 1)).detach())\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), model(torch.cat((beta2_vec, vec), 1)).detach())\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### What does the Fourier Layer do?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch.utils.hooks.RemovableHandle at 0x15978cff940>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "activation = {}\n",
    "def get_activation(name):\n",
    "    def hook(model, input, output):\n",
    "        activation[name] = output.detach()\n",
    "    return hook\n",
    "\n",
    "model.k0.register_forward_hook(get_activation('k0'))\n",
    "model.w0.register_forward_hook(get_activation('w0'))\n",
    "model.k1.register_forward_hook(get_activation('k1'))\n",
    "model.w1.register_forward_hook(get_activation('w1'))\n",
    "model.k2.register_forward_hook(get_activation('k2'))\n",
    "model.w2.register_forward_hook(get_activation('w2'))\n",
    "model.k3.register_forward_hook(get_activation('k3'))\n",
    "model.w3.register_forward_hook(get_activation('w3'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([101])"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "torch.mean(activation['k0'][0], axis=0).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "upredt0 = model(torch.cat((beta0_vec, vec), 1))\n",
    "# print(activation['k0'].shape)\n",
    "\n",
    "plt.subplot(121)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['k0'][0], axis=0))\n",
    "plt.subplot(122)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['w0'][0], axis=0))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(121)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['k1'][0], axis=0))\n",
    "plt.subplot(122)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['w1'][0], axis=0))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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QvXd+MvbMSPGdx1qPHco89zB80YPnjf8/F786vascq+99pqg0+mETZs2CceOHRMKCwuF+Ph4x5DF+++/X1iyZIlj+b179wrR0dFCSUmJUFdXJyxfvtzlsNP4+Hjh7bffFg4fPixMnz49ZMMb/dmXZ555RujXr5/w5ptvOg1fbG1tFQRBEFpbW4V///d/FyorK4VTp04Ju3btEm655RZh5MiRwnfffSfpvgSyPytWrBDef/994YsvvhAOHDggzJgxQ+jfv79QW1vrtM9q+G7sJk2aJPzqV7+66nk5v5vW1lbh4MGDwsGDBwUAwp/+9Cfh4MGDwldffSUIgiAsWbJEuP/++x3L24ee/va3vxXq6uqEF1980eXQU0//PkrEc4cyzx08b/C84e95I6KCHkEQhLVr1wpDhgwR+vXrJ9x2223Cp59+6njtpz/9qfDAAw84Lf9f//VfwqhRo4R+/foJP/jBD4R33nnH6XWbzSb8/ve/F66//npBp9MJWVlZwokTJ0KxK37ty9ChQwUAVz2WL18uCIIgtLe3C9OmTRMSExOFmJgYYejQoUJBQUFIL0T+7M8jjzziWPb6668XcnNzhZqaGqf1qeW7EQRBOH78uABA+OCDD65al5zfzUcffeTyd2Pf/gceeED46U9/etV7xo0bJ/Tr108YNmyYU90QO0//PkrFc4cyzx08b/C84Q+NIAiCf7khIiIiIvWJmD49REREFNkY9BAREVFEYNBDREREEYFBDxEREUUEBj1EREQUERj0EBERUURg0ENEREQRgUEPERERRQQGPURERBQRGPQQERFRRGDQQ0RERBGBQQ8RERFFhP8PY7PNJEw41OkAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(121)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['k2'][0], axis=0))\n",
    "plt.subplot(122)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['w2'][0], axis=0))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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mojcySNB0cqVK9GlSxe0a9cOcXFxOHLkiM3tt23bhqioKLRr1w4PP/xwi5qa0WjE66+/joiICAQGBiIpKQk//PCD2TamESxBQUEIDg7GhAkTWh3BIjXsjhGHWFMecCqFlkyj8GIG/xE5X+lRXHISpaWlFh/dunWDVqvF5cuXzY5x69YtVFZWQqvVWvwbWq0WdXV1qKqqMnu+oqLC6j6WrFy5EhqNBm+//Tb69OmDxx9/HJs2bUJ+fr7Vrju1Wo2goCCzB5EtHJkqbaJ3n33yySfIysrCmjVrEBcXh/feew/JyckoKytr0UwOAAcPHsSoUaOwaNEiPP3008jJycGzzz6LY8eOoWfPngCAt99+G8uXL8fHH3+Mrl274rXXXkNycjJOnjyJdu2afnBGjx6N8vJy7N69G/X19Rg3bhwmT55scwSL1LA7RhxiTXzGCdXMWR4o8KvNbl+dToeqqioUFhaie/fuAIB9+/ahsbERcXFxFveJjY2Fv78/8vPzkZqaCgAoKyvDuXPnoNPp7D7f69evCwnWJm3atAEANDY22n0cIms4eEb6RG8pevfddzFp0iSMGzcOMTExWLNmDe644w589NFHFrdftmwZUlJSMGvWLERHR+ONN95A3759sWLFCgBNrUTvvfce5s2bh+HDh6NXr17YuHEjLl26hB07dgBoGsGSl5eHDz/8EHFxcRgwYADef/99bN26FZcuXRL7kt2G3THiEGv5CS5r8Rtnu32jo6ORkpKCSZMmobCwEAAwa9YspKWlCSPPLl68iKioKKHFWaPRYMKECcjKysI333yDwsJCjBs3Djqdzmzk2enTp1FUVASDwYAbN26gqKgIRUVFqKurAwAMHToUR48exZ///Gf88MMPOHbsGMaNG4f77rsPffr0cft7RL5F7FQItkC5h6hBUV1dHQoLC81GhahUKiQlJVkdFaLX6822B4Dk5GRh+7Nnz8JgMJhto9FoEBcXJ2xjaQRLUlKSzREsUhxFwu4Y8Yg18RknVHO923fz5s2IiorCsGHDADS1Hn3wwQfC6/X19SgrK8P169eF57Kzs/H0008jNTUVjz/+OLRaLbZv32523IkTJ6JPnz7461//iu+//x59+vRBnz59hIpSQkICcnJysGPHDvTp0wcpKSlQq9XIy8tDYGCg828I+TyxUyHyissxYHEBRq09hOlbizBq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T6GhocGt59+cM9fy4IMP4qOPPsLnn3+OTZs2obGxEY8++iguXLgAQL6fy5EjR1BcXIyJEyeaPe+Nz8UZ1u6Xmpoa3Lhxwy3fW09juWFOKuUGwLKjOZYd9mnrlrMlxXnrrbewdetW7N271yzJMC0tTfj/hx9+GL169cL999+PvXv3IjEx0RunapFOp4NOpxP+/eijjyI6Ohp//etf8cYbb3jxzFyzbt06PPzww+jfv7/Z83L5XEjZ5F5uACw7pPzZeAJbipq555570KZNG1RUVJg9X1FRAa1Wa3EfrVZrc3vTfx05pjs4cy0mS5YswVtvvYWvv/4avXr1srltt27dcM899+D06dMun7M1rlyLib+/P/r06SOcpxw/l19//RVbt27FhAkTWv07nvhcnGHtfgkKCkJgYKBbPmtPY7nRRGrlBsCyw4Rlh/2fC4OiZgICAhAbG4v8/HzhucbGRuTn55vVHJrT6XRm2wPA7t27he27du0KrVZrtk1NTQ0OHz5s9Zju4My1AMDbb7+NN954A3l5eejXr1+rf+fChQu4evUqIiIi3HLeljh7Lc01NDTgu+++E85Tbp8L0DSEu7a2Fi+88EKrf8cTn4szWrtf3PFZexrLDWmWGwDLDhOWHQ58LnanZPuIrVu3GtVqtXHDhg3GkydPGidPnmwMDg4WhmT+6U9/Ms6ZM0fY/sCBA8a2bdsalyxZYiwtLTXOnz/f4tDa4OBg4+eff248ceKEcfjw4R4bvunItbz11lvGgIAA46effmo2PPOXX34xGo1G4y+//GL8r//6L6NerzeePXvWuGfPHmPfvn2N3bt3N968eVNS17Jw4ULjV199ZTxz5oyxsLDQmJaWZmzXrp2xpKTE7Hrl8LmYDBgwwPj888+3eN6bn8svv/xiPH78uPH48eNGAMZ3333XePz4ceM///lPo9FoNM6ZM8f4pz/9SdjeNKx21qxZxtLSUuPKlSstDqu19f5IEcsNaZYbzlwPyw7fLjsYFFnw/vvvGzt37mwMCAgw9u/f33jo0CHhtSeeeMI4ZswYs+3/9re/GXv06GEMCAgwPvTQQ8bc3Fyz1xsbG42vvfaaMTw83KhWq42JiYnGsrIyT1yKQ9dy3333GQG0eMyfP99oNBqN169fNw4ePNgYGhpq9Pf3N953333GSZMmeezHypFrmTFjhrBteHi4cciQIcZjx46ZHU8un4vRaDSeOnXKCMD49ddftziWNz+Xb775xuJ3xnT+Y8aMMT7xxBMt9undu7cxICDA2K1bN7M5U0xsvT9SxXJDmuWGo9fDssO3yw4/o9FodKgNi4iIiEiBmFNEREREBAZFRERERAAYFBEREREBYFBEREREBIBBEREREREABkVEREREABgUEREREQFgUEREREQEgEEREREREQAGRUREREQAGBQRERERAWBQRERERAQA+P/ji9mNkNebkgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(121)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['k3'][0], axis=0))\n",
    "plt.subplot(122)\n",
    "plt.scatter(np.linspace(0, 1, nx + 1), torch.mean(activation['w3'][0], axis=0))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.8"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "9b3b15e79d64212a14c381e1bc9a41101994b32312634469deb1a16fd6054240"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
